:: Enseignements :: Master :: M1 :: 2010-2011 :: Java Avancé ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Generics, wildcard |
Vous trouverez
içi
quelques notes concernant ce td.
Exercice 1 - Carte sauvage
-
Pourquoi le code ci-dessous ne compile-t-il pas ?
Que doit-on changer pour qu'il compile ?
-
On veut écrire la méthode
printLength
prenant en paramètre une liste d'objets implantant
l'interface
CharSequence
et affichant la longueur des chaînes de caractères de la
liste.
Exercice 2 - Générification
-
Générifier le code ci-dessous :
-
En utilisant une variable de type
T
- En utilisant la notation wildcard.
-
À quoi sert la constante
Collections.EMPTY_LIST
?
Comment peut-on l'utiliser dans l'implantation de la
méthode
listLength()
?
-
Changer l'implantation de la méthode
listLength()
pour utiliser la méthode
emptyList
de la classe
java.util.Collections
.
Exercice 3 - C'est loin la merge
On souhaite écrire une méthode permettant de fusionner deux
listes
List
pour obtenir une liste contenant alternativement un élement
de chaque liste.
La méthode devra s'assurer que les deux listes ont la même
taille.
-
Quel est le profil de la méthode
merge
(le plus générique possible) sachant que le code suivant
est valide.
-
Indiquer sans implanter de nouveau code quelle est la
complexité de la solution choisie si une des listes est
une
LinkedList
?
-
Comment doit-on faire pour avoir une meilleur complexité
?
Ecrire la solution proposée.
Expliquer ce qu'est la capture.
© Université de Marne-la-Vallée