Maîtriser l'interface Iterator de Java : Guide pratique avec exemple de code
Maîtriser l'interface Iterator de Java : Guide pratique avec exemple de code
L'interface Iterator, partie du framework de collections de Java, fournit un moyen uniforme de parcourir n'importe quelle collection. Elle est étendue par ListIterator pour les listes.
Chaque classe de collection offre une méthode iterator() qui renvoie une instance Iterator, permettant un parcours et une manipulation sécurisés.
Méthodes de l'interface Iterator
L'interface définit quatre méthodes principales :
hasNext()– renvoietrues'il reste des élémentsnext()– récupère l'élément suivantremove()– supprime le dernier élément renvoyé parnext()forEachRemaining()– applique une action donnée à tous les éléments restants
Exemple : Utilisation d'Iterator avec ArrayList
L'extrait suivant implémente les quatre méthodes sur un ArrayList<Integer> :
import java.util.ArrayList;
import java.util.Iterator;
class Main {
public static void main(String[] args) {
// Création d'un ArrayList
ArrayList<Integer> nombres = new ArrayList<>();
nombres.add(1);
nombres.add(3);
nombres.add(2);
System.out.println("ArrayList : " + nombres);
// Obtention d'un Iterator
Iterator<Integer> iterateur = nombres.iterator();
// Accès au premier élément
int nombre = iterateur.next();
System.out.println("Élément accédé : " + nombre);
// Suppression de cet élément
iterateur.remove();
System.out.println("Élément supprimé : " + nombre);
System.out.print("ArrayList mis à jour : ");
// Itération sur les éléments restants
while (iterateur.hasNext()) {
iterateur.forEachRemaining(valeur -> System.out.print(valeur + ", "));
}
}
}
Sortie
ArrayList : [1, 3, 2] Élément accédé : 1 Élément supprimé : 1 ArrayList mis à jour : 3, 2,
L'expression lambda passée à forEachRemaining() montre comment la méthode traite chaque élément restant de manière concise.
Java
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Types d'annotations Java : guide complet des annotations prédéfinies, personnalisées et méta
- Maîtriser l'interface NavigableSet de Java : Navigation, tri et exemples pratiques
- Maîtriser les expressions lambda Java : Des bases à l'API Stream
- Comprendre Java String.charAt() : Syntaxe, type de retour, exceptions et exemple pratique
- Redéfinition de méthodes Java : Personnaliser le comportement de la superclasse
- Comprendre les interfaces Java : Définitions, Usages et Bonnes pratiques
- Java 9 : Méthodes privées dans les interfaces — Encapsulation et réutilisation
- Maîtriser les références de méthode Java 8 : Guide complet