Java - 12.1.2 Parcourir une LinkedList avec une boucle et un Iterator
La LinkedList stocke chaque élément avec une référence vers le précédent et vers le suivant. Cette structure a une conséquence sur la manière de la parcourir. Cette leçon explique ce fonctionnement, puis montre deux façons de lire tous les éléments de la liste.
Comment fonctionne une liste chaînée
Dans une LinkedList, chaque élément est lié à ses voisins par une référence. Chaque élément contient une référence vers l'élément précédent et vers l'élément suivant.
Le premier élément n'a pas de précédent, et le dernier n'a pas de suivant. La vidéo illustre ce fonctionnement avec un schéma simple.
Cette structure explique pourquoi la liste ne se parcourt pas comme un tableau : il faut suivre les références d'un élément à l'autre.
Parcourir la liste avec une boucle for
Après avoir ajouté des éléments avec add, la vidéo utilise une boucle for. L'indice i commence à 0 et augmente de 1 à chaque tour, tant qu'il reste inférieur à la taille de la liste.
Dans l'exemple, les éléments sont ajoutés un par un avec la méthode add, avant d'être parcourus par la boucle.
À chaque tour, la méthode get lit l'élément situé à l'indice i. Le premier élément a l'indice 0, et la boucle les affiche tous dans l'ordre.
for (int i = 0; i < liste.size(); i++) {
System.out.println(liste.get(i));
}
Parcourir la liste avec un Iterator
La LinkedList fournit un itérateur, c'est-à-dire un objet de type Iterator, pour parcourir ses éléments un par un.
La vidéo utilise cet itérateur pour afficher les éléments. Elle annonce que cette interface sera reprise dans les prochaines leçons, car elle sert souvent dans les programmes.
En résumé
Une LinkedList relie ses éléments entre eux par des références. Une boucle for peut la parcourir grâce à un indice et à la méthode get. Un Iterator permet aussi de lire les éléments un par un. Ces deux méthodes affichent les mêmes éléments, dans le même ordre.
Points clés
- Chaque élément d'une LinkedList référence le précédent et le suivant.
- Le premier élément n'a pas de précédent, et le dernier n'a pas de suivant.
- La boucle for utilise un indice qui commence à 0.
- La condition de la boucle compare l'indice à la taille de la liste.
- Un Iterator permet de parcourir les éléments un par un.
Questions fréquentes
Pourquoi la condition utilise-t-elle un signe inférieur strict ?
La condition i < taille arrête la boucle avant la taille. Le dernier indice valide est donc la taille moins un.
Que fait la méthode get ?
get(i) retourne l'élément situé à l'indice i. Elle ne le supprime pas de la liste.
À quoi sert un Iterator ?
Il parcourt la liste un élément après l'autre. La vidéo l'utilise pour afficher les éléments et annonce son usage dans les prochaines leçons.