Streams Débutant

Prenez ou abandonnez des éléments d'un stream selon un prédicat.

✕ 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)
Un problème avec ce code ? Dites-le nous.
🎯

Court-circuit

Arrête le traitement dès que le prédicat échoue.

🔗

Compatible avec les pipelines

S'enchaîne avec d'autres opérations de stream naturellement.

📖

Déclaratif

takeWhile se lit comme de l'anglais : 'prend tant que inférieur à 100'.

Ancienne Approche
Boucle manuelle
Approche Moderne
takeWhile/dropWhile
Depuis JDK
9
Difficulté
Débutant
Stream takeWhile / dropWhile
Disponible

Disponible depuis JDK 9 (sept. 2017)

takeWhile() retourne des éléments tant que le prédicat est vrai et s'arrête au premier faux. dropWhile() ignore les éléments tant que c'est vrai et retourne le reste. Les deux fonctionnent mieux sur les streams ordonnés.

Partager 𝕏 🦋 in