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
QCM-JavaQCM Java – Programmation Orientée ObjetQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *