Iterazione inversa di lista
Itera su una lista in ordine inverso con un ciclo for-each pulito.
Confronto Codice
✕ 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);
}
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Sintassi naturale
Ciclo for potenziato invece del verboso ListIterator.
Nessuna copia
reversed() restituisce una vista — nessun overhead di prestazioni.
API coerente
Funziona su List, Deque, SortedSet in modo uniforme.
Approccio Vecchio
ListIterator manuale
Approccio Moderno
reversed()
Dal JDK
21
Difficoltà
Principiante
Supporto JDK
Iterazione inversa di lista
Disponibile
Ampiamente disponibile dal JDK 21 LTS (settembre 2023)
Come funziona
Il metodo reversed() di SequencedCollection restituisce una vista ordinata in senso inverso della lista. Questa vista è supportata dalla lista originale, quindi non si verifica alcuna copia. La sintassi del ciclo for potenziato rende l'iterazione inversa leggibile quanto quella diretta.
Documentazione Correlata