Java Iterator: Der große Guide [inkl. Codebeispiel]

    Avatarbild von Patrick
    Patrick

    veröffentlicht am: 13.06.2022
    zuletzt aktualisiert am: 19.04.2023

    Java Iterator: Der große Guide, inklusive Codebeispiele!

    In Java werden verschiedene Techniken wie do-while-Schleifen, while-Schleifen, for-Schleife Java und for-each-Schleifen verwendet, um über Elemente auf der Grundlage ihrer „Indizes“ zu iterieren. Da Java auch eine objektorientierte Programmiersprache ist, kann man auch „Objekte“ verwenden, um die gleiche Funktionalität auszuführen.

    Java Iterators“ stellt eine Methode zur Verfügung, um über die Objekte einer Elementsammlung zu iterieren, und wurde als Ersatz für „Enumeration“ in die Java Version „1.2“ integriert. Im Vergleich zu „Enumeration“ bietet „Java Iterator“ verbesserte „Methoden“ und hat die Fähigkeit, Elemente aus einer Sammlung zu „entfernen„.

    In diesem Beitrag werden wir die folgenden Aspekte im Zusammenhang mit einem Java Iterator diskutieren:

    • Was ist ein Java Iterator
    • Funktionsweise von Java Iteratoren
    • Wie man Java Iteratoren verwendet
    • Wie man die Methoden von Java Iterator verwendet

    So, lass uns loslegen!

    Was ist ein Java Iterator?

    Java Iterator“ ist eine Art „Schnittstelle“ (mehr über das Java Interface erfahren), die mit einem „Collection“ Framework verbunden ist. Er ermöglicht es, eine erstellte Sammlung zu durchlaufen, auf ihre Elemente zuzugreifen und ein bestimmtes Element aus ihr zu löschen.

    Ein Java Iterator wird auch als „Universal Iterator“ bezeichnet, da er mit jedem Sammlungsobjekt verwendet werden kann. Mit Hilfe eines Java Iterators können sowohl Lese– als auch Löschoperationen für Elemente durchgeführt werden. Er hat auch die Eigenschaft, ein Element aus einer Sammlung zu entfernen, was ihn von Java „Enumeration“ unterscheidet.

    Funktionsweise von Java Iteratoren

    Um den „Java Iterator“ in einem Programm zu verwenden, muss man ein „Objekt“ oder eine „Instanz“ der „Iterator“ Schnittstelle erstellen und ihm die gewünschten Elemente hinzufügen. Der Java Iterator verfolgt dann die Komponenten der Sammlung, um sicherzustellen, dass der Benutzer durch jedes Element iteriert.

    Wenn ein Benutzer während der Iteration über Elemente die zugrunde liegende Sammlung aktualisiert, bemerkt der Java Iterator diese Aktion und löst eine „Exception“ aus, falls der Benutzer versucht, auf das nächste Element oder die nächste Komponente zuzugreifen.

    Bis zu diesem Punkt hast Du das Konzept von Java Iterators verstanden. Nun wollen wir uns der Implementierung zuwenden.

    Wie verwendet man Java Iteratoren?

    Zunächst importieren wir die Klasse „java.util.Iterator„, um einen „Java Iterator“ zu erstellen:

    import java.util.Iterator;

    Im nächsten Schritt erstellen wir eine Sammlung wie „LinkedList“ oder „ArrayList“ und deklarieren dann einen Java Iterator, indem wir die Methode „Iterator“ der Klasse „java.util.Iterator“ verwenden.

    Wir werden zum Beispiel eine „ArrayList“ Sammlung mit dem Namen „mitarbeiter“ deklarieren:

    ArrayList<String> mitarbeiter = new ArrayList<String>();

    Dann erstellen wir einen „Iterator“ für unsere Liste „mitarbeiter„:

    Iterator iterator = mitarbeiter.iterator();

    Die Methoden des Java Iterators

    Die Klasse „java.util.Iterator“ bietet die folgenden Methoden, die für verschiedene Zwecke verwendet werden können:

    • Java Iterator next() Methode
    • Java Iterator hasNext() Methode
    • Java Iterator remove() Methode

    Wir werden jetzt jede der genannten Methoden im Detail besprechen.

    .next()

    Die Methode „next()“ wird mit einem „Iterator“ Objekt verwendet, um das „nächste Element“ eines Sammelobjekts zurückzugeben.

    .hasNext()

    hasNext()“ ist eine weitere nützliche Methode, die aufgerufen wird, um zu prüfen, ob es weitere Elemente in einer Sammlung gibt oder nicht. Diese Java Iterator Methode wird meist mit einer Schleife kombiniert, um über die Elemente zu iterieren und die genannten Operationen nebeneinander auszuführen.

    Beispiel:

    Verwendung der Java Iterator Methoden next() und hasNext()

    Um die Methoden „next()“ und „hasNext()“ zu verwenden, müssen die nachfolgenden Schritte durchlaufen werden:

    • Zunächst müssen die Klassen „java.util.ArrayList“ und „java.util.Iterator“ in das Programm importiert werden.
    • Erstelle dann ein „ArrayList“ Sammlungsobjekt und benenne es nach Deinen Wünschen. In unserem Fall werden wir unser Objekt „mitarbeiter“ nennen.
    • Danach verwendest Du die Methode „add()“ (engl. add method), um ein bestimmtes Element in die erstellte Sammlung einzufügen.
    • Erstelle dann mit Hilfe der Methode iterator() einen Java „Iterator“ für das Sammlungsobjekt „mitarbeiter„.
    • Um die Elemente des „mitarbeiter“ Objekts zu durchlaufen, verwende die „while“ Schleife und übergebe die „iterator.hasNext()“ Methode als „Argument„. Diese Schleife wird so lange ausgeführt, bis der Iterator das „nächste“ Element findet, um es zu durchlaufen.
    • Zuletzt rufst Du innerhalb des Körpers der „while“ Schleife die Methode „iterator.next()“ auf und gibst das nächste Element des Sammelobjekts auf der Konsole aus:
    import java.util.ArrayList;
    import java.util.Iterator;
    public class JavaIterator {
        public static void main(String args[]) {
         ArrayList<String> mitarbeiter = new ArrayList<String>();
         mitarbeiter.add("Simon");
         mitarbeiter.add("Stefan");
         mitarbeiter.add("Pauline");
         mitarbeiter.add("Simone");
         mitarbeiter.add("Ron");
    
         Iterator iterator = mitarbeiter.iterator();
    
         System.out.println("Unsere Mitarbeiter sind: ");
         while (iterator.hasNext())
         System.out.print(iterator.next() + "\n");
         System.out.println();
        }
    }

    Die Ausführung des oben genannten Programms führt zu der folgenden Ausgabe:

    Der Iterator ist eine Collection (engl. The iterator is a Collection in Java)!

    .remove()

    Die Methode „remove()“ kann verwendet werden, um das „aktuelle Element„, auf das der Iterator zeigt, zu löschen. Mit anderen Worten kann man sagen, dass diese Methode das Element, auf das “als erstes zugegriffen wurde“, aus einem Sammlungsobjekt entfernt.

    Beispiel

    Im gleichen Programm fügen wir nun den folgenden Code ein, um das erste Element des Objekts „mitarbeiter“ zu entfernen, auf das zugegriffen wurde:

    String element = (String) iterator.next();
    System.out.println("Zugegriffenes Element: " + element);
    iterator.remove();
    System.out.println("Entferntes Element: " + element);

    Wenn das angegebene Programm ausgeführt wird, zeigt „iterator.next()“ auf das erste Element des Objekts „mitarbeiter„, also „Simon„. Dann wird es mit der Methode „remove()“ aus dem angegebenen Sammlungsobjekt gelöscht:

    Der Java Iterator hat zwar keinen Typ Parameter, aber hat verschiedenen Methoden, um beispielsweise auf das nächste Element zuzugreifen. (engl. The Iterator Collection has methods such as next to get the next element, therefore also the method names)!

    Das waren die wichtigsten Informationen zu Java Iterator. Du kannst je nach Bedarf noch weiter recherchieren.

    Zusammenfassung

    Das Java Iterator Interface ist eine „Schnittstelle„, die mit einem „Collection“ Framework verbunden ist. Er ermöglicht es, mit der Methode „iterator.hasNext()“ durch eine erstellte Sammlung zu iterieren, mit der Methode „iterator.next()“ auf ihre Elemente zuzugreifen und mit der Methode „iterator.remove()“ ein bestimmtes Element zu löschen. In diesem Beitrag wurde die Verwendung von Java Iteratoren mithilfe geeigneter Beispiele behandelt. Wenn Du mehr über Java lernen willst, schau Dir unsere große Tutorialserie an!

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."

    - Lennart Sparbier

    100% kostenlos registrieren · keine Kreditkarte notwendig

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig