Heim  >  Artikel  >  Java  >  Was ist der Unterschied zwischen Iterator und ListIterator in Java?

Was ist der Unterschied zwischen Iterator und ListIterator in Java?

青灯夜游
青灯夜游Original
2019-03-16 15:10:574989Durchsuche

Iterator und ListIterator sind zwei der drei Cursor in Java, die beide durch das Sammlungsframework im Java.UTIL-Paket definiert werden. Was ist also der Unterschied zwischen ihnen? Der folgende Artikel wird Ihnen den Unterschied zwischen Iterator und ListIterator vorstellen. Ich hoffe, er wird Ihnen hilfreich sein.

Was ist der Unterschied zwischen Iterator und ListIterator in Java?

Was ist Iterator?

Iterator stellt einen Iterator dar und ist eine Schnittstelle im Collection-Framework; Verwendung Zum Durchlaufen von Sammlungselementen. Es ermöglicht, jedes Element in der Sammlung einzeln zu durchlaufen, Elemente aus der Sammlung abzurufen oder Elemente aus der Sammlung zu entfernen, es ist jedoch nicht möglich, jedes Element in der Sammlung mit einem Iterator zu ändern.

Iterator verfügt über eine iterator()-Methode, die den Iterator an den Anfang der Sammlung zurückbringt. Sobald Sie einen Iterator an den Anfang der Sammlung gebracht haben und dann über die Elemente in der Sammlung iterieren, richten Sie eine Schleife ein und rufen bei jeder Schleifeniteration hasNext() auf.

hasNext() Wenn es true zurückgibt, bedeutet dies, dass es das nächste Element in der Sammlung gibt; wenn es false zurückgibt, bedeutet es, dass alle Elemente durchlaufen werden. Dann können Sie innerhalb der Schleife next() verwenden, um jedes Element in der Sammlung abzurufen. Die Methode next() gibt das nächste Element der Sammlung zurück.

Nachteile:

● Mit Iterator können Sie die Sammlung nur vorwärts verschieben.

● Mit Iterator können Sie die Elemente in der Sammlung nicht manipulieren oder ändern.

Was ist ListIterator?

ListIterator ist eine Schnittstelle im Collection-Framework. Mit ListIterator können Sie die Elemente einer Sammlung vorwärts und rückwärts durchlaufen. Sie können auch jedes Element in der Sammlung hinzufügen, entfernen oder ändern. Kurz gesagt können wir sagen, dass es die Nachteile von Iterator beseitigt.

Die Methoden von ListIterator lauten wie folgt:

●hasNext(): Wenn true zurückgegeben wird, wird bestätigt, dass die Sammlung weitere Elemente enthält.

●next(): Gibt das nächste Element der Liste zurück.

● NextIndex(): Gibt den Index des nächsten Elements in der Liste zurück.

● HasPrevious(): Gibt true zurück, wenn es ein entgegengesetztes Element in der Menge gibt.

● previous(): Gibt das vorherige Element in der Sammlung zurück.

● previousIndex(): Gibt den Index des vorherigen Elements in der Sammlung zurück.

● Remove(): Elemente aus der Sammlung entfernen.

●set(): Ändert die Elemente im Set.

● Add(): Neue Elemente zur Sammlung hinzufügen.

Der Hauptunterschied zwischen Iterator und ListIterator

1. Traversal

Mit Iterator können Sie alle Sammlungen durchlaufen, z als Map, List, Set; kann aber die Elemente in der Menge nur in Vorwärtsrichtung durchlaufen.

Mit ListIterator können Sie nur von List implementierte Objekte durchlaufen, Sie können jedoch Elemente in der Sammlung vorwärts und rückwärts durchlaufen.

2. Elemente hinzufügen

Iterator kann der Sammlung keine Elemente hinzufügen; ListIteror kann jedoch Elemente zur Sammlung hinzufügen.

3. Elemente ändern

Iterator kann die Elemente in der Sammlung nicht ändern, ListIterator kann jedoch set() verwenden, um die Elemente in der Sammlung zu ändern.

4. Index

Iterator kann den Index der Elemente in der Sammlung nicht abrufen. Mit ListIterator können Sie jedoch den Index der Elemente in der Sammlung abrufen.

Empfohlene Video-Tutorials: „Java-Tutorial

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Iterator und ListIterator in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn