:: Enseignements :: ESIPE :: E4INFO :: 2007-2008 :: Java Avancé ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Generics, wildcard, iterable, iterateur |
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'objet 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.
-
Implanter la méthode
merge
créant une nouvelle liste.
La signature de la méthode devra être la plus générique possible.
Indiquer sans implanter de nouveau code quelle est la complexité de
la solution choisie si une des liste 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