Was ist Iterator in Java und wie wird es verwendet?



Der Iterator im Java-Blog gibt Ihnen anhand einiger Beispiele eine genaue Einführung in den Iterator und dessen Verwendung in Java

Wenn Sie an einem arbeiten Wenn Sie eine Sequenz drucken möchten, kommt Iterator in Java ins Spiel. Auf diese Weise können Sie die Sequenz auch ohne Hinzufügen der print-Anweisung für jede einzelne Zeile abrufen. Lassen Sie uns also etwas über Iterator in lernen .

Im Folgenden sind die Themen aufgeführt, die ich in diesem Modul behandeln werde:





Lass uns anfangen!

Was ist ein Iterator?

Java unterstützt hauptsächlich vier verschiedene Cursor. Sie sind nämlich:



  • Aufzählung
  • Iterator
  • ListIterator
  • Splitter

Jeder dieser Java-Cursor hat einige Vor- und Nachteile. In diesem Artikel konzentrieren wir uns auf Iterator.

wie man XML in Java analysiert

Was ist ein Iterator in Java?

Iterator ist eine Schnittstelle, die zu einem Sammlungsframework gehört. Sie können die Sammlung durchlaufen, auf das Datenelement zugreifen und die Datenelemente der Sammlung entfernen.



Es wird auch als universeller Iterator betrachtet, da Sie ihn auf jeden anwenden können Objekt. Mit einem Iterator können Sie sowohl Lese- als auch Entfernungsvorgänge ausführen. Dies ist eine verbesserte Version von Aufzählung mit den zusätzlichen Funktionen der Entfernbarkeit eines Elements.

Java-Iterator-Methoden

Der Java-Iterator verfügt über insgesamt 4 Methoden. Lassen Sie uns sie im Detail verstehen.

So erstellen Sie eine Singleton-Klasse in Java
MethodenBeschreibung
forEachRemaining (Consumeraction)Es führt die Aktionen für jedes Element aus, bis alle Elemente verarbeitet wurden. Auch bis eine Ausnahme von der Aktion ausgelöst wird.
hasNext ()Dies kehrt zurück Ein wahrer Wert, wenn während der Iteration eine große Anzahl von Elementen angetroffen wird.
Nächster()Dies kehrt zurück das nächste angegebene Element während der Iteration.
entfernen()Diese Methode rEntfernt das aktuelle Element. Würfe Illegale staatliche Ausnahme Wenn versucht wird, remove () aufzurufen, dem kein Aufruf von next () vorausgeht.
boolean hasNext ()Dies gibt true zurück, wenn die Iteration mehr Elemente enthält.

Beispiel:

class Methode {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R. ') list.add (' E ') list.add (' K ') list.add (' A ') // Iterator zum Durchlaufen der Liste Iterator iterator = list.iterator () System.out.println (' Listenelemente : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

Ausgabe: EDUREKA

Werfen wir einen Blick auf ListIterator in Java.

ListIterator in Java

ListIterator in Java ist ein Iterator, mit dem Benutzer die Sammlung in beide Richtungen durchlaufen können. Es enthält die folgenden Methoden:

MethodenMethode & Beschreibung
void add (Objekt obj) Fügt obj in die Liste vor dem Element ein, das beim nächsten Aufruf von next () zurückgegeben wird.
boolean hasNext () Gibt true zurück, wenn das nächste Element vorhanden ist. Andernfalls wird false zurückgegeben.
boolean hasPrevious () Gibt true zurück, wenn ein vorheriges Element vorhanden ist. Andernfalls wird false zurückgegeben.
Objekt weiter () Gibt das nächste Element zurück. Eine NoSuchElementException wird ausgelöst, wenn das nächste Element nicht vorhanden ist.
int nextIndex () Gibt den Index des nächsten Elements zurück. Wenn das nächste Element nicht vorhanden ist, wird die Größe der Liste zurückgegeben.
Objekt zurück () Gibt das vorherige Element zurück. Eine NoSuchElementException wird ausgelöst, wenn kein vorheriges Element vorhanden ist.
int previousIndex () Gibt den Index des vorherigen Elements zurück. Wenn kein vorheriges Element vorhanden ist, wird -1 zurückgegeben.
void remove () Entfernt das aktuelle Element aus der Liste. Eine IllegalStateException wird ausgelöst, wenn remove () aufgerufen wird, bevor next () oder previous () aufgerufen wird.
void set (Objekt obj) Weist dem aktuellen Element obj zu. Dies ist das Element, das zuletzt von einem Aufruf von next () oder previous () zurückgegeben wurde.

Beispiel:

public class Lists {public statisch void main (String args []) {// Array-Liste erstellen ArrayList al = new ArrayList () // Elemente zur Array-Liste hinzufügen al.add ('E') al.add ('D. ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Verwenden Sie den Iterator, um den Inhalt von anzuzeigen al System.out.print ('Ursprünglicher Inhalt von al:') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (Element + '' )} System.out.println () // Objekte ändern, die iteriert werden ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (Element + '+') } System.out.print ('Geänderter Inhalt von al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (Element + '') } System.out.println () // Zeigen Sie nun die Liste rückwärts an. System.out.print ('Geänderte Liste rückwärts:') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (Element + '')} System.out.println ()}}

Ausgabe:

OriginalInhalt von al::E D U R E K A.
GeändertInhalt von al::IS+D.+U.+R.+IS+ZU+ A +
GeändertListe rückwärts::ZU+ZU+IS+R.+U.+D.+ UND +

Schauen wir uns nun die Vor- und Nachteile dieser Iterator-Oberfläche in Java an.

Vorteile von Iterator in Java

Iterator in Java hat die folgenden Vorteile.

  • Sie können diese Iteratoren für jede Collection-Klasse verwenden.
  • Iterator in Java unterstützt beide lesen ebenso gut wie entfernen Operationen.
  • Wenn Sie verwenden für Schleife Sie können nicht Aktualisieren (Hinzufügen / Entfernen) der Sammlung, während Sie mit Hilfe eines Iterators die Sammlung einfach aktualisieren können.
  • Es ist ein universeller Cursor für die Sammlungs-API.
  • Die Methodennamen sind sehr einfach und sehr einfach zu verwenden.

Einschränkungen von Iterator in Java

Iteratoren in Java haben die folgenden Nachteile:

  • Sie können nur eine Vorwärtsrichtungsiteration durchführen, dh einen unidirektionalen Iterator.
  • Das Ersetzen und Hinzufügen eines neuen Elements wird vom Iterator nicht unterstützt.
  • ListIterator ist der leistungsstärkste Iterator, gilt jedoch nur für von List implementierte Klassen. Es ist also kein universeller Iterator.
  • Wenn Sie CRUD-Vorgänge verwenden, werden die Erstellungs- und Aktualisierungsvorgänge nicht unterstützt.
  • Wenn Sie es mit Spliterator vergleichen, können Sie Elemente nicht parallel iterieren. Dies bedeutet, dass nur sequentielle Iteration unterstützt wird.
  • Eine bessere Leistung beim Iterieren eines großen Datenvolumens wird nicht unterstützt.

Dies bringt uns zum Ende dieses Artikels, wo wir gelernt haben, wie Iterator in Java funktioniert. Ich hoffe, Sie sind mit allem klar, was Ihnen in diesem Tutorial mitgeteilt wurde.

veränderlich und unveränderlich in Java

Wenn Sie diesen Artikel zu 'Iterator in Java' relevant fanden, lesen Sie die Ein vertrauenswürdiges Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt.

Wir sind hier, um Ihnen bei jedem Schritt auf Ihrer Reise zu helfen. Außerdem erstellen wir einen Lehrplan, der für Studenten und Fachleute konzipiert ist, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring schulen.

Wenn Sie auf Fragen stoßen, können Sie alle Ihre Fragen im Kommentarbereich von „Iterator in Java“ stellen. Unser Team beantwortet diese gerne.