Iteratore Java
Iteratore Java
An Iterator
è un oggetto che può essere utilizzato per scorrere le raccolte, come ArrayList
e HashSet . Si chiama "iteratore" perché "iterazione" è il termine tecnico per il ciclo.
Per utilizzare un Iterator, devi importarlo dal java.util
pacchetto.
Ottenere un iteratore
Il iterator()
metodo può essere utilizzato per ottenere un Iterator
per qualsiasi raccolta:
Esempio
// 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());
}
}
Ciclo attraverso una raccolta
Per scorrere una raccolta, utilizzare i metodi hasNext()
e di :next()
Iterator
Esempio
while(it.hasNext()) {
System.out.println(it.next());
}
Rimozione di elementi da una raccolta
Gli iteratori sono progettati per modificare facilmente le raccolte che attraversano. Il remove()
metodo può rimuovere elementi da una raccolta durante il ciclo.
Esempio
Utilizzare un iteratore per rimuovere i numeri inferiori a 10 da una raccolta:
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);
}
}
Nota: il tentativo di rimuovere gli elementi utilizzando un ciclo for o un ciclo for-ogni non funzionerebbe correttamente perché la raccolta sta cambiando dimensione nello stesso momento in cui il codice sta tentando di eseguire il ciclo.