Streams Principiante

Prendi o scarta elementi da uno stream in base a un predicato.

✕ 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)
Vedi un problema con questo codice? Faccelo sapere.
🎯

Cortocircuito

Smette di elaborare non appena il predicato fallisce.

🔗

Adatto alla pipeline

Si concatena naturalmente con altre operazioni stream.

📖

Dichiarativo

takeWhile si legge come in inglese: 'prendi mentre meno di 100'.

Approccio Vecchio
Loop manuale
Approccio Moderno
takeWhile/dropWhile
Dal JDK
9
Difficoltà
Principiante
Stream takeWhile / dropWhile
Disponibile

Ampiamente disponibile dal JDK 9 (settembre 2017)

takeWhile() restituisce elementi finché il predicato è vero e si ferma al primo falso. dropWhile() salta gli elementi finché è vero e restituisce il resto. Entrambi funzionano meglio su stream ordinati.

Condividi 𝕏 🦋 in