Java ListIterator-Schnittstelle

Inhaltsverzeichnis

In diesem Tutorial lernen wir anhand eines Beispiels die Java ListIterator-Oberfläche kennen.

Die ListIteratorSchnittstelle des Java-Sammlungsframeworks bietet die Funktionalität für den Zugriff auf Elemente einer Liste.

Es ist bidirektional. Dies bedeutet, dass wir Elemente einer Liste in beide Richtungen iterieren können.

Es erweitert die IteratorSchnittstelle.

Die ListSchnittstelle bietet eine listIterator()Methode, die eine Instanz der ListIteratorSchnittstelle zurückgibt .

Methoden von ListIterator

Die ListIteratorSchnittstelle bietet Methoden, mit denen verschiedene Operationen an den Elementen einer Liste ausgeführt werden können.

  • hasNext() - gibt true zurück, wenn ein Element in der Liste vorhanden ist
  • next() - gibt das nächste Element der Liste zurück
  • nextIndex()Gibt den Index des Elements zurück, das die next()Methode zurückgeben wird
  • previous() - gibt das vorherige Element der Liste zurück
  • previousIndex()- gibt den Index des Elements zurück, das die previous()Methode zurückgeben wird
  • remove()- Entfernt das von entweder next()oder zurückgegebene Elementprevious()
  • set()- ersetzt das von entweder next()oder previous()durch das angegebene Element zurückgegebene Element

Beispiel 1: Implementierung von ListIterator

Im Beispiel unten haben wir die umgesetzt next(), nextIndex()und hasNext()Methoden der ListIteratorSchnittstelle in einer Array - Liste.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); // Using the next() method int number1 = iterate.next(); System.out.println("Next Element: " + number1); // Using the nextIndex() int index1 = iterate.nextIndex(); System.out.println("Position of Next Element: " + index1); // Using the hasNext() method System.out.println("Is there any next element? " + iterate.hasNext()); ) ) 

Ausgabe

ArrayList: (1, 3, 2) Nächstes Element: 1 Position des nächsten Elements: 1 Gibt es ein nächstes Element? wahr

Beispiel 2: Implementierung von ListIterator

Im folgenden Beispiel haben wir die Methoden previous()und previousIndex()der ListIteratorSchnittstelle in einer Array-Liste implementiert .

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); iterate.next(); iterate.next(); // Using the previous() method int number1 = iterate.previous(); System.out.println("Previous Element: " + number1); // Using the previousIndex() int index1 = iterate.previousIndex(); System.out.println("Position of the Previous element: " + index1); ) ) 

Ausgabe

 ArrayList: (1, 3, 2) Vorheriges Element: 3 Position des vorherigen Elements: 0 

Im obigen Beispiel war die Instanz von anfangs Iteratorvor 1. Da vor 1 kein Element vorhanden war, wird beim Aufrufen der previous()Methode eine Ausnahme ausgelöst.

Wir haben die next()Methoden dann 2 Mal angewendet . Jetzt liegt die IteratorInstanz zwischen 3 und 2.

Daher gibt die previous()Methode 3 zurück.

Interessante Beiträge...