ListIteratorExample.java

import java.util.*;
public class ListIteratorExample {
  public static void main(String[] args) {
    List l = new ArrayList();
    l.add("e");
    l.add("f");
    l.add("g");
    ListIterator it = l.listIterator();
    while (it.hasNext()) {
      System.out.println("└ l'indice " + it.nextIndex() +
             " valeur " + it.next());
    }                                   // Affiche: └ l'indice 0 valeur e
                                        //          └ l'indice 1 valeur f  
                                        //          └ l'indice 2 valeur g 
    it.set("G"); // remplace "g" (dernier retournÚ) par "G"
    it.add("h"); // ajoute "h" aprŔs "G": aprŔs previous() et avant next()
    System.out.println("en 2 -> " + l.get(2));      // Affiche: en 2 -> G  
    System.out.println("en 3 -> " + l.get(3));      // Affiche: en 3 -> h
    
    it = l.listIterator(l.size()); // nouvel itÚrateur (partant de la fin)
    while (it.hasPrevious()) {
      System.out.println("└ l'indice " + it.previousIndex() +
             " valeur " + it.previous());
    }                                   // Affiche: └ l'indice 3 valeur h
                                        //          └ l'indice 2 valeur G
                                        //          └ l'indice 1 valeur f
                                        //          └ l'indice 0 valeur e
    it.set("E"); // remplace "e" (dernier retournÚ) par "E"
    System.out.println("en 0 -> " + l.get(0));      // Affiche: en 0 -> E
    it.remove(); // supprime "E" (dernier retournÚ)
    System.out.println("en 0 -> " + l.get(0));      // Affiche: en 0 -> f
    System.out.println(it.next());                  // Affiche: f
  }
}