Liste rückwärts iterieren

Um eine Liste rückwärts zu iterieren gibt es eine einfache Methode: eine for-Schleife die von list.size() - 1 bis 0 zählt und das jeweilige Element mit list.get(i) auswählt. Es gibt aber auch eine Möglichkeit mit einer Iterator-Variante.

Analog zum altbekannten Iterator gibt es im List Interface auch eine Methode listIterator(), die einen ListIterator zurückgibt. Dieser enthält Möglichkeiten die Liste in beide Richtungen zu iterieren und dabei auch zu verändern.

List<String> beerList = new ArrayList<>(Arrays.asList("Egger",
        "Frastanzer", "Forhrenburger", "Mohrenbräu", "Sternbräu"));

ListIterator<String> listIterator = beerList.listIterator(beerList.size());
while(listIterator.hasPrevious()) {
    System.out.println(listIterator.previous());
}

Dieses Beispiel erzeugt die folgende Ausgabe:

Sternbräu
Mohrenbräu
Forhrenburger
Frastanzer
Egger

Natürlich könnte man auch einfach die Reihenfolge der Liste umkehren, aber dadurch würde die Ursprüngliche Liste verändert werden.


Ähnliche Artikel