Streams Principiante

Toma o descarta elementos de un stream según un 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)
¿Ves un problema con este código? Cuéntanos.
🎯

Cortocircuito

Deja de procesar tan pronto como el predicado falla.

🔗

Compatible con pipelines

Se encadena con otras operaciones de stream naturalmente.

📖

Declarativo

takeWhile se lee como inglés: 'toma mientras sea menor que 100'.

Enfoque Antiguo
Bucle manual
Enfoque Moderno
takeWhile/dropWhile
Desde JDK
9
Dificultad
Principiante
Stream takeWhile / dropWhile
Disponible

Ampliamente disponible desde JDK 9 (sept. 2017)

takeWhile() devuelve elementos mientras el predicado sea verdadero y se detiene en el primer falso. dropWhile() omite elementos mientras sea verdadero y devuelve el resto. Ambos funcionan mejor en streams ordenados.

Compartir 𝕏 🦋 in