Java -Iterator
Java-Iterator
An Iterator
ist ein Objekt, das zum Durchlaufen von Sammlungen wie ArrayList
und HashSet verwendet werden kann . Es wird „Iterator“ genannt, weil „Iteration“ der Fachbegriff für Schleifen ist.
java.util
Um einen Iterator zu verwenden, müssen Sie ihn aus dem Paket importieren .
Einen Iterator bekommen
Die iterator()
Methode kann verwendet werden, um eine Iterator
für jede Sammlung zu erhalten:
Beispiel
// 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());
}
}
Eine Sammlung durchlaufen
Um eine Sammlung zu durchlaufen, verwenden Sie die Methoden hasNext()
und von :next()
Iterator
Beispiel
while(it.hasNext()) {
System.out.println(it.next());
}
Entfernen von Elementen aus einer Sammlung
Iteratoren sind so konzipiert, dass sie die Sammlungen, die sie durchlaufen, einfach ändern können. Die remove()
Methode kann während einer Schleife Elemente aus einer Sammlung entfernen.
Beispiel
Verwenden Sie einen Iterator, um Zahlen kleiner als 10 aus einer Sammlung zu entfernen:
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);
}
}
Hinweis: Der Versuch, Elemente mit einer for-Schleife oder einer for-each-Schleife zu entfernen, würde nicht richtig funktionieren, da die Größe der Sammlung zur gleichen Zeit geändert wird, zu der der Code versucht, eine Schleife auszuführen.