Accéder au contenu principal
Documents
Tableaux JavaProgrammation orientée objet en JavaTraitement des fichiers en JavaIntroduction To JavaLes bases du langage JavaMots-clés Java

Java Iterator

En Java, Iterator est une interface qui permet de parcourir une collection d'objets, tels que des listes ou des ensembles, un élément à la fois. Il fait partie du Java Collections Framework et se trouve dans le paquetage java.util. L'interface Iterator est utilisée pour accéder aux éléments d'une collection de manière séquentielle sans exposer la structure sous-jacente de la collection.

Méthodes clés

L'interface Iterator propose trois méthodes principales :

  • hasNext(): Retourne true si l'itération a plus d'éléments. Il permet de vérifier s'il y a plus d'éléments à itérer.
    boolean hasNext();
  • next(): Renvoie l'élément suivant dans l'itération. Il doit être appelé après hasNext() pour s'assurer qu'il existe un élément suivant.
    E next();
  • remove(): Supprime de la collection sous-jacente le dernier élément renvoyé par la méthode next(). Cette méthode est facultative et peut générer UnsupportedOperationException si la collection ne prend pas en charge la suppression.
    void remove();

Exemples

Exemple 1 : Utilisation de base avec liste

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String fruit = iterator.next();
            System.out.println(fruit);
        }
    }
}

Dans cet exemple, un site ArrayList de chaînes de caractères est créé et alimenté avec des noms de fruits. Une adresse Iterator est obtenue à partir de la liste pour parcourir et imprimer chaque fruit.

Exemple 2 : Suppression d'éléments

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class RemoveExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String fruit = iterator.next();
            if ("Banana".equals(fruit)) {
                iterator.remove();
            }
        }
        System.out.println(list);
    }
}

Cet exemple montre comment supprimer des éléments d'une liste à l'aide d'un Iterator. L'élément "Banana" est supprimé au cours de l'itération.

Conseils et bonnes pratiques

  • Utilisez hasNext() avant next(): Vérifiez toujours hasNext() avant d'appeler next() pour éviter NoSuchElementException.
  • Évitez les exceptions de type ConcurrentModificationException: Ne modifiez pas directement la collection lorsque vous la parcourez. Utilisez la méthode remove() du site Iterator pour retirer les éléments en toute sécurité.
  • Utilisez des boucles de type "For" améliorées lorsque c'est possible: Pour les itérations simples où la suppression n'est pas nécessaire, la boucle for améliorée de Java (for-each) peut être plus concise et plus lisible.
  • Comprendre les opérations non soutenues: Toutes les collections ne prennent pas en charge l'opération remove(). Soyez conscient des capacités de la collection afin d'éviter UnsupportedOperationException.
  • Envisagez des alternatives: Pour des besoins d'itération plus complexes, envisagez d'utiliser ListIterator, qui offre des possibilités supplémentaires telles que l'itération bidirectionnelle et la modification d'éléments.

Apprendre l'essentiel de Java

Développez vos compétences en Java à partir de la base et maîtrisez les concepts de programmation.
Commencez à apprendre gratuitement