Java ListIterator-Schnittstelle
Java ListIterator-Schnittstelle
In diesem Tutorial lernen wir die Java ListIterator-Schnittstelle anhand eines Beispiels kennen.
Der ListIterator
Die Schnittstelle des Java Collections Framework bietet die Funktionalität, um auf Elemente einer Liste zuzugreifen.
Es ist bidirektional. Das bedeutet, dass wir Elemente einer Liste in beide Richtungen iterieren können.
Es erweitert die Iterator
Schnittstelle.
Die List
Schnittstelle stellt einen listIterator()
bereit Methode, die eine Instanz von ListIterator
zurückgibt Schnittstelle.
Methoden von ListIterator
Die ListIterator
Die Schnittstelle stellt Methoden bereit, mit denen verschiedene Operationen an den Elementen einer Liste ausgeführt werden können.
hasNext()
- gibt wahr zurück, wenn es ein Element in der Liste gibtnext()
- gibt das nächste Element der Liste zurücknextIndex()
gibt den Index des Elements zurück, dasnext()
enthält Methode gibt zurückprevious()
- gibt das vorherige Element der Liste zurückpreviousIndex()
- gibt den Index des Elements zurück, dasprevious()
ist Methode gibt zurückremove()
- entfernt das von entwedernext()
zurückgegebene Element oderprevious()
set()
- ersetzt das von entwedernext()
zurückgegebene Element oderprevious()
mit dem angegebenen Element
Beispiel 1:Implementierung von ListIterator
Im Beispiel unten haben wir den next()
implementiert , nextIndex()
und hasNext()
Methoden des ListIterator
Schnittstelle in einer Array-Liste.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> 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] Next Element: 1 Position of Next Element: 1 Is there any next element? true
Beispiel 2:Implementierung von ListIterator
Im folgenden Beispiel haben wir den previous()
implementiert und previousIndex()
Methoden des ListIterator
Schnittstelle in einer Array-Liste.
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of ListIterator
ListIterator<Integer> 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] Previous Element: 3 Position of the Previous Element: 0
Im obigen Beispiel zunächst die Instanz des Iterator
war vor 1. Da es kein Element vor 1 gab, wurde previous()
aufgerufen -Methode löst eine Ausnahme aus.
Wir haben dann den next()
verwendet Methoden 2 mal. Jetzt die Iterator
Instanz wird zwischen 3 und 2 liegen.
Daher der previous()
Methode gibt 3 zurück.
Java