Ters liste yineleme
Bir liste üzerinde temiz bir for-each döngüsüyle ters sırada yineleyin.
Kod Karşılaştırması
✕ 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);
}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Doğal sözdizimi
Ayrıntılı ListIterator yerine geliştirilmiş for döngüsü.
Kopyalama yok
reversed() bir görünüm döndürür — performans yükü yoktur.
Tutarlı API
List, Deque, SortedSet üzerinde tekdüze çalışır.
Eski Yaklaşım
Elle ListIterator
Modern Yaklaşım
reversed()
JDK'dan itibaren
21
Zorluk
Başlangıç
JDK Desteği
Ters liste yineleme
Mevcut
JDK 21 LTS'den itibaren geniş çapta kullanılabilir (Eylül 2023)
Nasıl çalışır
SequencedCollection'dan gelen reversed() metodu, listenin ters sıralı bir görünümünü döndürür. Bu görünüm orijinal listenin arkasına dayandığından kopyalama yapılmaz. Geliştirilmiş for döngüsü sözdizimi, ters yinelemeyi ileri yineleme kadar okunabilir kılar.
İlgili Belgeler