1. Traversal Direction: ListIterator ermöglicht es den Programmierern, die Listenobjekte in beide Richtungen zu iterieren, dh Vorwärts- und Rückwärtsrichtung mit der previous() und next() Methode.
Iterator kann verwendet werden, um die Liste zu iterieren, zuzuordnen und das Objekt in eine Richtung zu setzen, dh vorwärts.
2. Setzen und Zuordnen von implementierten Objekten Traversal: ListIterator kann nur zum Durchlaufen von Listenobjekten verwendet werden. Iterator kann jedoch verwendet werden, um implementierte Objekte abzubilden, aufzulisten und festzulegen.
beispiel:
// ListIterator-Objekt wird erstellt
ListIterator listIteratorObject = List.ListIterator();// Iterator Objekt wird erstelltiterator iteratorObject = Liste.iterator();
3. Hinzufügen oder Setzen von Operationen an einem beliebigen Index: Laut ListIterator Oracle docs kann
ListIterator die Liste während der Iteration mit add(E e) , remove() oder set(E e) .
Iterator kann das Element während der Durchquerung nicht hinzufügen, aber sie können das Element während der Iteration aus der zugrunde liegenden Sammlung entfernen, da sie nur aus der remove() -Methode bestehen. Es gibt keine add(E e) und set(E e) Methode im Iterator.
4. Aktuelle Position des Iterators ermitteln : ListIterator kann die aktuelle Position des Iterators in der Liste ermitteln.Die aktuelle Position des Iterators während des Durchlaufs kann nicht mit dem Iterator bestimmt werden.
5. Index des Elements abrufen: ListIterator kann den Index der Elemente mit den Methoden previousIndex (E e) oder nextIndex (E e) abrufen.Wir können den Index nicht mit Iterator erhalten, da keine solchen Methoden vorhanden sind.
Beispiel für Iterator und ListIterator
import java.util.Iterator;import java.util.ListIterator;öffentliche Klasse IteratorListIteratorExample {public static void main(String args) {
List ListObject = neue Arrayliste();listObject.add("Alive is awesome"); listObject.add("Love yourself");ListIterator listIteratorObject = listObject.listIterator();System.out.println("ListIterator object output in forward direction:");System.out.println("");while( listIteratorObject.hasNext() ) { System.out.println(listIteratorObject.next()); }System.out.println("ListIterator object output in backward direction:");System.out.println("");while( listIteratorObject.hasPrevious() ) { System.out.println(listIteratorObject.previous()); } List iteratorListObject = new ArrayList(); iteratorListObject.add("Facebook"); iteratorListObject.add("Google"); iteratorListObject.add("Apple"); Iterator javaHungryIterator = iteratorListObject.iterator();System.out.println("Iterator object output in forward direction:");while( javaHungryIterator.hasNext() ) { System.out.println(javaHungryIterator.next()); }}}
Ausgabe :
ListIterator Objektausgabe in Vorwärtsrichtung:
Alive is awesomeLove yourself
ListIterator Objektausgabe in Rückwärtsrichtung:Liebe dich selbstalive is awesomeIterator Objektausgabe in Vorwärtsrichtung:FacebookGoogleAppleÄhnlichkeiten zwischen Iterator und ListIterator in Java
1. Schnittstellen: Sowohl Iterator als auch ListIterator sind Schnittstellen. ListIterator erweitert Iterator-Schnittstelle.
2. Sammlungsrahmen : Sowohl Iterator als auch ListIterator sind Mitglieder des Java Collection Frameworks.
3. Traversal : Beide werden verwendet, um über die Sammlung von Objekten zu iterieren.
4. Schnittstellen zu jdk hinzugefügt: Beide Schnittstellen werden dem jdk in Java 1.2 hinzugefügt
Recap : Unterschied zwischen Iterator und ListIterator in Java mit Beispiel
ListIterator | Iterator | |
---|---|---|
Verfahrrichtung | Beide, vorwärts und rückwärts | Vorwärts |
Objekte traversal | Nur Liste | Map, Set und Liste |
Add- und Set-Operationen | Erlaubt beide Operationen | Nicht möglich |
Aktuelle Position des Iterators | Ja , bestimmbar | Nicht möglich. |
Index abrufen | Ja | Nicht möglich |