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.