Itérateur Java
Itérateur Java
An Iterator
est un objet qui peut être utilisé pour parcourir des collections, comme ArrayList
et HashSet . C'est ce qu'on appelle un « itérateur » parce que « itérer » est le terme technique pour boucler.
Pour utiliser un Iterator, vous devez l'importer depuis le java.util
package.
Obtenir un itérateur
La iterator()
méthode peut être utilisée pour obtenir un Iterator
pour n'importe quelle collection :
Exemple
// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// Make a collection
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
// Get the iterator
Iterator<String> it = cars.iterator();
// Print the first item
System.out.println(it.next());
}
}
Boucler dans une collection
Pour parcourir une collection, utilisez les méthodes hasNext()
et de :next()
Iterator
Exemple
while(it.hasNext()) {
System.out.println(it.next());
}
Supprimer des éléments d'une collection
Les itérateurs sont conçus pour modifier facilement les collections qu'ils parcourent. La remove()
méthode peut supprimer des éléments d'une collection lors d'une boucle.
Exemple
Utilisez un itérateur pour supprimer les nombres inférieurs à 10 d'une collection :
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(12);
numbers.add(8);
numbers.add(2);
numbers.add(23);
Iterator<Integer> it = numbers.iterator();
while(it.hasNext()) {
Integer i = it.next();
if(i < 10) {
it.remove();
}
}
System.out.println(numbers);
}
}
Remarque : Essayer de supprimer des éléments à l'aide d'une boucle for ou d'une boucle for-each ne fonctionnerait pas correctement car la collection change de taille en même temps que le code essaie de boucler.