Collections Начинающий

Итерация по списку в обратном порядке с помощью чистого цикла for-each.

✕ Java 8
for (ListIterator<String> it =
        list.listIterator(list.size());
    it.hasPrevious(); ) {
    String element = it.previous();
    System.out.println(element);
}
✓ Java 21+
for (String element : list.reversed()) {
    IO.println(element);
}
Заметили проблему в этом коде? Сообщите нам.
📖

Естественный синтаксис

Расширенный цикл for вместо многословного ListIterator.

Без копирования

reversed() возвращает представление — без накладных расходов на производительность.

🧩

Согласованный API

Работает единообразно на List, Deque и SortedSet.

Старый подход
Ручной ListIterator
Современный подход
reversed()
Начиная с JDK
21
Сложность
Начинающий
Обратная итерация по списку
Доступно

Широко доступно начиная с JDK 21 LTS (сент. 2023)

Метод reversed() из SequencedCollection возвращает представление списка в обратном порядке. Это представление опирается на исходный список, поэтому копирование не происходит. Расширенный цикл for делает обратную итерацию такой же читаемой, как прямую.