Comment utiliser Iterator en Java
Iterator est une interface qui appartient au framework collection. Il nous permet de parcourir la collection, d’accéder à l’élément et supprimer les éléments de la collection. Le package java.util a une interface publique Iterator et contient trois méthodes:
- boolean hasNext(): il retourne true si Iterator a plus d’élément à itérer.
- Object next(): il retourne l’élément suivant dans la collection jusqu’à ce que la méthode hasNext() retourne true. Cette méthode lève ‘NoSuchElementException’ s’il n’y a pas d’élément suivant.
- void remove(): Il supprime l’élément courant de la collection. Cette méthode lève ‘IllegalStateException’ si cette fonction est appelée avant que next() soit invoqué.
Exemple:
import java.util.*;
public class Main
{
public static void main (String[] args)
{
List<String> color = Arrays.asList("Blue", "Red", "Green");
Iterator<String> i = color.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
}
}
Sortie:
Blue Red Green
ListIterator
ListIterator en Java est un Iterator qui permet aux utilisateurs de parcourir une Collection dans les deux sens. Il contient les méthodes suivantes:
- void add(Object object): il insère un objet juste avant l’élément renvoyé par la méthode next().
- boolean hasNext(): il retourne true si la liste a un élément suivant.
- boolean hasPrevious(): il retourne true si la liste a un élément précédent.
- Object next(): il retourne l’élément suivant de la liste. Il lève ‘NoSuchElementException’ s’il n’y a pas d’élément suivant dans la liste.
- Object previous(): il retourne l’élément précédent de la liste. Il lève ‘NoSuchElementException’ s’il n’y a pas d’élément précédent.
- void remove(): Il supprime l’élément courant de la liste. Il lève ‘IllegalStateException’ si cette fonction est appelée avant que next() ou previous() soit invoqué.
Exemple:
import java.util.*;
public class Main
{
public static void main (String[] args)
{
ArrayList<String> lang = new ArrayList<String>();
lang.add("Java");
lang.add("Python");
lang.add("PHP");
lang.add("C++");
lang.add("Perl");
// ListIterator pour parcourir la liste
ListIterator iterator = lang.listIterator();
// Parcourant la liste en avant
System.out.println("Parcours en avant : ");
while (iterator.hasNext())
System.out.println(iterator.next() + " ");
// Parcourant la liste en arrière
System.out.println("Parcours en arrière : ");
while (iterator.hasPrevious())
System.out.println(iterator.previous() + " ");
}
}
Sortie:
Parcours en avant : Java Python PHP C++ Perl Parcours en arrière : Perl C++ PHP Python Java






Vraiment du top, le site est propose tous ce qu’il faut avec un professionnalisme et de grande qualité pédagogique.