Direkt zum Inhalt
Urkunden
Java SchlüsselwörterJava-ArraysJava Objektorientierte ProgrammierungJava File HandlingEinführung in JavaGrundlagen der Java-Sprache

Java Iterator

Iterator in Java ist eine Schnittstelle, die es ermöglicht, eine Sammlung von Objekten, wie z. B. Listen oder Mengen, Element für Element zu durchlaufen. Es ist Teil des Java Collections Framework und befindet sich im Paket java.util. Die Schnittstelle Iterator wird verwendet, um auf die Elemente einer Sammlung sequentiell zuzugreifen, ohne die zugrunde liegende Struktur der Sammlung offenzulegen.

Wichtige Methoden

Die Schnittstelle Iterator bietet drei Hauptmethoden:

  • hasNext(): Gibt true zurück, wenn die Iteration mehr Elemente hat. Damit kannst du prüfen, ob es noch mehr Elemente gibt, über die du iterieren kannst.
    boolean hasNext();
  • next(): Gibt das nächste Element in der Iteration zurück. Sie sollte nach hasNext() aufgerufen werden, um sicherzustellen, dass es ein nächstes Element gibt.
    E next();
  • remove(): Entfernt das letzte Element, das von der Methode next() zurückgegeben wurde, aus der zugrunde liegenden Sammlung. Diese Methode ist optional und kann UnsupportedOperationException auslösen, wenn die Sammlung das Entfernen nicht unterstützt.
    void remove();

Beispiele

Beispiel 1: Grundlegende Verwendung mit Liste

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String fruit = iterator.next();
            System.out.println(fruit);
        }
    }
}

In diesem Beispiel wird eine ArrayList von Strings erstellt und mit Obstnamen gefüllt. Aus der Liste wird eine Iterator erstellt, um jede Frucht zu durchlaufen und zu drucken.

Beispiel 2: Elemente entfernen

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class RemoveExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String fruit = iterator.next();
            if ("Banana".equals(fruit)) {
                iterator.remove();
            }
        }
        System.out.println(list);
    }
}

In diesem Beispiel wird das Entfernen von Elementen aus einer Liste mithilfe von Iterator demonstriert. Das Element "Banane" wird während der Iteration entfernt.

Tipps und bewährte Praktiken

  • Verwende hasNext() Vor next(): Prüfe immer hasNext() bevor du next() aufrufst, um NoSuchElementException zu vermeiden.
  • Avoid ConcurrentModificationException: Ändere die Sammlung nicht direkt, während du über sie iterierst. Verwende die remove() Methode der Iterator, um Elemente sicher zu entfernen.
  • Verwende wenn möglich eine erweiterte For-Schleife: Für einfache Iterationen, bei denen das Entfernen nicht erforderlich ist, kann die erweiterte for-Schleife von Java (for-each) übersichtlicher und lesbarer sein.
  • Verstehe nicht unterstützte Operationen: Nicht alle Sammlungen unterstützen die Funktion remove(). Sei dir über die Möglichkeiten der Sammlung bewusst, um UnsupportedOperationException zu vermeiden.
  • Ziehe Alternativen in Betracht: Für komplexere Iterationen kannst du ListIterator verwenden, das zusätzliche Funktionen wie bidirektionale Iterationen und Elementänderungen bietet.

Java Grundlagen lernen

Baue deine Java-Kenntnisse von Grund auf auf und beherrsche Programmierkonzepte.
Kostenloses Lernen beginnen