Streams Orta

Akış biçiminde bir döngü gibi yinelemeyi durdurmak için koşul kullanın.

✕ Java 8
Stream.iterate(1, n -> n * 2)
    .limit(10)
    .forEach(System.out::println);
// can't stop at a condition
✓ Java 9+
Stream.iterate(
    1,
    n -> n < 1000,
    n -> n * 2
).forEach(IO::println);
// stops when n >= 1000
Bu kodda bir sorun mu gördünüz? Bize bildirin.
🎯

Doğal sonlandırma

Keyfi bir sınır değil, bir koşula göre durun.

📐

for döngüsü karşılığı

for(seed; hasNext; next) ile aynı anlambilim.

🛡️

Sonsuz akış riski yok

Koşul, sonlandırmayı garanti eder.

Eski Yaklaşım
iterate + limit
Modern Yaklaşım
iterate(seed, pred, op)
JDK'dan itibaren
9
Zorluk
Orta
Koşullu Stream.iterate()
Mevcut

JDK 9'dan itibaren geniş çapta kullanılabilir (Eylül 2017)

Üç argümanlı Stream.iterate(seed, hasNext, next), bir for döngüsü gibi çalışır: seed başlangıç değeri, hasNext ne zaman duracağını belirler ve next sonraki değeri üretir.

Paylaş 𝕏 🦋 in