Iteración inversa de listas
Itera sobre una lista en orden inverso con un bucle for-each limpio.
Comparación de Código
✕ 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);
}
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Sintaxis natural
Bucle for mejorado en lugar del verboso ListIterator.
Sin copias
reversed() devuelve una vista — sin sobrecarga de rendimiento.
API consistente
Funciona de manera uniforme en List, Deque y SortedSet.
Enfoque Antiguo
ListIterator manual
Enfoque Moderno
reversed()
Desde JDK
21
Dificultad
Principiante
Soporte JDK
Iteración inversa de listas
Disponible
Ampliamente disponible desde JDK 21 LTS (sept 2023)
Cómo funciona
El método reversed() de SequencedCollection devuelve una vista en orden inverso de la lista. Esta vista está respaldada por la lista original, por lo que no se realiza ninguna copia. La sintaxis del bucle for mejorado hace que la iteración inversa sea tan legible como la iteración hacia adelante.
Documentación Relacionada