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 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.
Diese Methoden werden im nächsten Abschnitt ausführlich besprochen.
Lassen Sie uns sehen, wie ListIterator funktioniert.
List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); nm.add("Elsa"); nm.add("Anna"); nm.add("payal");
//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.
Im Folgenden sind die verschiedenen Methoden aufgeführt, die in Java ListIterator verwendet werden.
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:
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:
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:
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:
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:
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:
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:
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:
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:
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!