Java Iterator

In diesem Tutorial lernen wir anhand eines Beispiels die Java Iterator-Oberfläche kennen.

Über die IteratorSchnittstelle des Java-Sammlungsframeworks können wir auf Elemente einer Sammlung zugreifen. Es hat eine Subschnittstelle ListIterator.

Alle Java-Sammlungen enthalten eine iterator()Methode. Diese Methode gibt eine Iteratorinstanz zurück, mit der Elemente von Sammlungen durchlaufen werden.

Methoden des Iterators

Die IteratorSchnittstelle bietet 4 Methoden, mit denen verschiedene Operationen an Elementen von Sammlungen ausgeführt werden können.

  • hasNext()- Gibt zurück, truewenn ein Element in der Sammlung vorhanden ist
  • next() - gibt das nächste Element der Sammlung zurück
  • remove() - Entfernt das letzte vom next()
  • forEachRemaining() - führt die angegebene Aktion für jedes verbleibende Element der Sammlung aus

Beispiel: Implementierung von Iterator

Im Beispiel unten haben wir die umgesetzt hasNext(), next(), remove()und forEachRemining()Methoden der IteratorSchnittstelle in einer Array - Liste.

 import java.util.ArrayList; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of Iterator Iterator iterate = numbers.iterator(); // Using the next() method int number = iterate.next(); System.out.println("Accessed Element: " + number); // Using the remove() method iterate.remove(); System.out.println("Removed Element: " + number); System.out.print("Updated ArrayList: "); // Using the hasNext() method while(iterate.hasNext()) ( // Using the forEachRemaining() method iterate.forEachRemaining((value) -> System.out.print(value + ", ")); ) ) ) 

Ausgabe

 ArrayList: (1, 3, 2) Zugriff auf Element: 1 Entferntes Element: 1 Aktualisierte ArrayList: 3, 2, 

Beachten Sie im obigen Beispiel die folgende Aussage:

 iterate.forEachRemaining((value) -> System.put.print(value + ", ")); 

Hier haben wir den Lambda-Ausdruck als Argument der forEachRemaining()Methode übergeben.

Jetzt druckt die Methode alle verbleibenden Elemente der Array-Liste.

Interessante Beiträge...