Stream takeWhile / dropWhile
Bir koşula göre akıştan öğeleri alın veya atlayın.
Kod Karşılaştırması
✕ Java 8
List<Integer> result = new ArrayList<>();
for (int n : sorted) {
if (n >= 100) break;
result.add(n);
}
// no stream equivalent in Java 8
✓ Java 9+
var result = sorted.stream()
.takeWhile(n -> n < 100)
.toList();
// or: .dropWhile(n -> n < 10)
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Kısa devre
Koşul başarısız olduğunda işlemi durur.
Boru hattı uyumlu
Diğer akış işlemleriyle doğal biçimde zincirlenir.
Bildirimsel
takeWhile 'koşul sağlandığı sürece al' şeklinde okunur.
Eski Yaklaşım
Manuel Döngü
Modern Yaklaşım
takeWhile/dropWhile
JDK'dan itibaren
9
Zorluk
Başlangıç
JDK Desteği
Stream takeWhile / dropWhile
Mevcut
JDK 9'dan itibaren geniş çapta kullanılabilir (Eylül 2017)
Nasıl çalışır
takeWhile(), koşul doğru olduğu sürece öğeleri döndürür ve ilk yanlışta durur. dropWhile() ise koşul doğru olduğu sürece öğeleri atlar ve kalanları döndürür. Her ikisi de sıralı akışlarda en iyi çalışır.
İlgili Belgeler