Itération inverse de listes
Itère sur une liste dans l'ordre inverse avec une boucle for-each propre.
Comparaison de Code
✕ 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);
}
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Syntaxe naturelle
Boucle for améliorée au lieu du verbose ListIterator.
Sans copie
reversed() retourne une vue — sans surcharge de performance.
API cohérente
Fonctionne uniformément sur List, Deque et SortedSet.
Ancienne Approche
ListIterator manuel
Approche Moderne
reversed()
Depuis JDK
21
Difficulté
Débutant
Support JDK
Itération inverse de listes
Disponible
Disponible depuis JDK 21 LTS (sept. 2023)
Comment ça fonctionne
La méthode reversed() de SequencedCollection retourne une vue dans l'ordre inverse de la liste. Cette vue est soutenue par la liste originale, donc aucune copie n'est effectuée. La syntaxe de la boucle for améliorée rend l'itération inverse aussi lisible que l'itération vers l'avant.
Documentation Associée