Heim  >  Artikel  >  Java  >  Java-Listeniterator

Java-Listeniterator

WBOY
WBOYOriginal
2024-08-30 15:09:361035Durchsuche

In Java ist ListIterator ein bidirektionaler Iterator, der dabei hilft, Elemente in einer Liste einzeln zu iterieren. Es ist ab Version Java 1.2 verfügbar und erweitert die Schnittstelle Iterator. Im Gegensatz zu normalen Iteratoren unterstützt ListIterator CRUD-Operationen sowie Vorwärts- und Rückwärtsiterationen. Da sich die Position des Cursors außerdem zwischen Elementen befindet, die beim Aufruf von previous() zurückgegeben werden, und Elementen, die beim Aufruf von next() zurückgegeben werden, verfügt listiterator über kein aktuelles Element.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax

Unten finden Sie die Syntax von Java ListIterator.

ListIterator<T> li = list.listIterator();

Wie funktioniert die ListIterator-Klasse in Java?

Wie bereits besprochen, ist Java ListIterator ein bidirektionaler Iterator, der in Vorwärts- und Rückwärtsrichtung durchläuft. Zur Unterstützung dieser Funktionalität stehen zwei Methodensätze zur Verfügung.

  • Vorwärtsrichtungsmethoden wie hasNext(), next(), nextIndex()
  • Rückwärtsrichtungsmethoden wie hasPrevious(), previous(), previousIndex()

Diese Methoden werden im nächsten Abschnitt ausführlich besprochen.

Lassen Sie uns sehen, wie ListIterator funktioniert.

1. Erstellen Sie eine Namensliste

List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Elsa");
nm.add("Anna");
nm.add("payal");

2. Erstellen Sie ein ListIterator-Objekt

//get list iterator
ListIterator<String> li =nm.listIterator(); In the beginning, the Cursor of ListIterator will be pointed before the first element in the List. On calling the methods li.hasNext() and li.next() in a while loop, the cursor will be moved to the last element in the list. In order to start traversing from last, li.hasPrevious( ) and li.previous() methods will be called. On reaching the first element and again calling the same method will return a false value.

Methoden des Java Listiterator

Im Folgenden sind die verschiedenen Methoden aufgeführt, die in Java ListIterator verwendet werden.

1. hinzufügen(Ulme)

Element Ulme wird in die Liste eingefügt. Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
public static void main(String a[])
{
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
//add the elements to the list
nm.add("Ram");
nm.add("Jaanu");
nm.add("Elsa");
nm.add("Anna");
nm.add("payal");
//get list iterator
li=nm.listIterator();
System.out.println("List is :");
while(li.hasNext()){
System.out.println(li.next());
}
}
}

Ausgabe:

Java-Listeniterator

2. hasNext()

True wird zurückgegeben, wenn der Iterator während der Durchquerung in Vorwärtsrichtung die nächsten Elemente hat.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
public static void main(String a[])
{
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("List is :");
//iterates if next element is present in forward direction
while(li.hasNext()){
System.out.println(li.next());
}
}
}

Ausgabe:

Java-Listeniterator

3. hasPrevious()

True wird zurückgegeben, wenn der Iterator während des Durchlaufs in Rückwärtsrichtung die nächsten Elemente hat.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("Traversal in forward direction::");
while(li.hasNext()){
System.out.println(li.next());
}
System.out.println("\nTraversal in backward direction:");
while(li.hasPrevious()){
System.out.println(li.previous());
}
}
}

Ausgabe:

Java-Listeniterator

4. next()

Das nächste Element wird zurückgegeben und die Cursorposition wird vorgerückt.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
public static void main(String a[])
{
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("List is :");
//iterates if next element is present in forward direction
while(li.hasNext()){
System.out.println(li.next());
}
}
}

Ausgabe:

Java-Listeniterator

5. nextIndex()

Der Index wird für das Element zurückgegeben, das beim Aufruf von next() zurückgegeben wird.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Khan");
nm.add("Alia");
nm.add("Jhanvi");
//get list iterator
li=nm.listIterator();
System.out.println("The index of first element : " + li.nextIndex());
li.next();
System.out.println("The index of second element :  " + li.nextIndex());
li.next();
System.out.println("The index of third element : " + li.nextIndex());
li.next();
System.out.println("The index of fourth element : " + li.nextIndex());
li.next();
System.out.println("The index of fifth element : " + li.nextIndex());
}
}

Ausgabe:

Java-Listeniterator

6. previous()

Das vorherige Element wird zurückgegeben und die Cursorposition wird nach hinten verschoben.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
//get list iterator
li=nm.listIterator();
System.out.println("Traversal in forward direction::");
while(li.hasNext()){
System.out.println(li.next());
}
System.out.println("\nTraversal in backward direction:");
while(li.hasPrevious()){
System.out.println(li.previous());
}
}
}

Ausgabe:

Java-Listeniterator

7. previousIndex()

Der Index wird für das Element zurückgegeben, das beim Aufruf von previous() zurückgegeben wird.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Khan");
nm.add("Alia");
nm.add("Jhanvi");
//get list iterator
li=nm.listIterator();
System.out.println("The index of first element : " + li.previousIndex());
li.next();
System.out.println("The index of second element :  " + li.previousIndex());
li.next();
System.out.println("The index of third element : " + li.previousIndex());
li.next();
System.out.println("The index of fourth element : " + li.previousIndex());
li.next();
System.out.println("The index of fifth element : " + li.previousIndex());
} }

Ausgabe:

Java-Listeniterator

8. entfernen()

Das letzte beim Aufruf von next() oder previous() zurückgegebene Element wird entfernt.

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Kavya");
nm.add("Dileep");
nm.add("Sam");
nm.add("Anna");
//get list iterator
li=nm.listIterator();
System.out.println("List is : " + nm);
li.next();
li.next();
li.remove();
System.out.println("After calling remove() method : " + nm);
}
}

Ausgabe:

Java-Listeniterator

9. set(E e)

Ersetzt das letzte von next() oder previous() zurückgegebene Element durch das angegebene Element (optionale Operation).

Code:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIterExample {
//main method
public static void main(String a[])
{
//
ListIterator<String> li = null;
List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Kavya");
nm.add("Dileep");
nm.add("Sam");
nm.add("Anna");
//get list iterator
li=nm.listIterator();
System.out.println("List is : " + nm);
li.next();
li.next();
li.set("Anjali");
System.out.println("After calling set() method : " + nm);
}
}

Ausgabe:

Java-Listeniterator

Fazit

ListIterator ist ein bidirektionaler Iterator in Java, der Elemente in einer Liste einzeln iteriert. CRUD-Operationen werden im ListIterator im Gegensatz zum normalen Iterator unterstützt. In diesem Artikel werden verschiedene Aspekte von ListIterator ausführlich besprochen.

Das obige ist der detaillierte Inhalt vonJava-Listeniterator. 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
Vorheriger Artikel:JSP UsebeanNächster Artikel:JSP Usebean