Streams Iniciante

Pegue ou descarte elementos de um stream com base em um predicado.

✕ 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)
Viu um problema com este código? Nos avise.
🎯

Curto-circuito

Para o processamento assim que o predicado falha.

🔗

Compatível com pipeline

Encadeie com outras operações de stream naturalmente.

📖

Declarativo

takeWhile lê-se de forma natural: 'pegue enquanto for menor que 100'.

Abordagem Antiga
Loop manual
Abordagem Moderna
takeWhile/dropWhile
Desde o JDK
9
Dificuldade
Iniciante
Stream takeWhile / dropWhile
Disponível

Amplamente disponível desde o JDK 9 (setembro de 2017)

takeWhile() retorna elementos enquanto o predicado for verdadeiro e para no primeiro falso. dropWhile() pula elementos enquanto for verdadeiro e retorna o restante. Ambos funcionam melhor em streams ordenados.

Compartilhar 𝕏 🦋 in