Parcourir LinkedList avec ListIterator en Java dans les deux sens

Ce tutoriel explique comment parcourir une LinkedList en utilisant ListIterator. ListIterator permet de parourir LinkedList dans les deux directions(avant et en arrière). On peut aussi modifier la liste durant le parcours et obtenir la position actuelle de Iterator dans la liste.

Voici un exemple de LinkedList contenant des valeurs de type String. On parcourt la liste dans les deux sens:

import java.util.LinkedList;

public class ListIterator {

public static void main(String[] args) {

// creation de linkedlist
LinkedList llist = new LinkedList();

// ajout des éléments
llist.add("string 1");
llist.add("string 2");
llist.add("string 3");
llist.add("string 4");

// récupérer le ListIterator
java.util.ListIterator lIterator = llist.listIterator();

// parcourir dans le sens croissant des index
System.out.println("Parcours en avant");
while(lIterator.hasNext()){
System.out.println(lIterator.next());
}

// parcourir dans le sens décroissant des index
System.out.println("\nParcours en arrière");
while(lIterator.hasPrevious()){
System.out.println(lIterator.previous());
}
}
}
Sortie

Parcours en avant
string 1
string 2
string 3
string 4

Parcours en arrière
string 4
string 3
string 2
string 1
Référence
Javadoc: ListIterator