English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Kontrollfluss

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java Ausnahmebehandlung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map Sammlung

Java Set Sammlung

Java Eingabe Ausgabe(I/O)

Java Reader/Writer

Java andere Themen

Java ListIterator Schnittstelle

In diesem Tutorial werden wir mit Beispielen das Java ListIterator Interface lernen.

Der Interface ListIterator der Java Collection Framework bietet die Funktion, auf die Elemente der Liste zuzugreifen.

Es ist bidirektional. Dies bedeutet, dass es uns ermöglicht, die Elemente der Liste in beiden Richtungen zu iterieren.

Es vererbt das Iterator-Interface.

Das List-Interface bietet die Methode ListIterator(), die eine Instanz des ListIterator-Interfaces zurückgibt.

Methoden des ListIterator

Das ListIterator-Interface bietet Methoden, die für verschiedene Operationen an den Listenelementen ausgeführt werden können.

  • hasNext() - Gibt true zurück, wenn im Listenelement vorhanden ist

  • next() - Gibt das nächste Element der Liste zurück

  • nextIndex() - Gibt die Index des Elements zurück, das von next() zurückgegeben wird

  • previous() - Gibt das erste Element der Liste zurück

  • previousIndex()- Gibt die Index des Elements zurück, das von previous() zurückgegeben wird

  • remove()- Löschen Sie das Element, das durch next() oder previous() zurückgegeben wird

  • set() - Ersetzen Sie das Element, das durch next() oder previous() zurückgegeben wird, durch das angegebene Element

Beispiel1ListIterator-Implementierung

In dem folgenden Beispiel haben wir die Methoden next(), nextIndex() und hasNext() des ListIterator-Interfaces in einer Arrayliste implementiert.

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        //Erstellen Sie eine ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: ", + numbers);
        //Erstellen Sie eine Instanz von ListIterator
        ListIterator<Integer> iterate = numbers.listIterator();
        //Verwenden Sie die next()-Methode
        int number1 = iterate.next();
        System.out.println("Nächstes Element: ", + number1);
        //Verwenden Sie nextIndex()
        int index1 = iterate.nextIndex();
        System.out.println("Position des nächsten Elements: ", + index1);
        //Verwenden Sie die hasNext()-Methode
        System.out.println("Gibt es den nächsten Element? ", + iterate.hasNext());
    }
}

Ausgabeergebnis

ArrayList:  [1, 3, 2]
Nächstes Element: 1
Position des nächsten Elements: 1
Gibt es den nächsten Element? true

Beispiel2ListIterator-Implementierung

In dem folgenden Beispiel haben wir die Methoden previous() und previousIndex() des ListIterator-Interfaces in einer Arrayliste implementiert.

import java.util.ArrayList;
import java.util.ListIterator;
class Main {
    public static void main(String[] args) {
        //Erstellen Sie eine ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: ", + numbers);
        //Erstellen Sie eine Instanz von ListIterator
        ListIterator<Integer> iterate = numbers.listIterator();
        iterate.next();
        iterate.next();
        //Verwenden Sie die previous() Methode
        int number1 = iterate.previous();
        System.out.println("vorheriges Element: ") + number1);
        //Verwenden Sie previousIndex()
        int index1 = iterate.previousIndex();
        System.out.println("Position des vorherigen Elements: ") + index1);
    }
}

Ausgabeergebnis

ArrayList:  [1, 3, 2]
vorheriges Element: 3
Position des vorherigen Elements: 0

Im obigen Beispiel war der Iterator-Instanz initially1vorher. Weil in1vorher keine Elemente, daher wird der Aufruf von previous() eine Ausnahme auslösen.

Dann haben wir next() verwendet2dieser Methode. Jetzt wird der Iterator-Instanz3bis2zwischen

Daher gibt die previous() Methode zurück3.