Java 8 : implémentation d'une limitation de flux basée sur la correspondance de prédicats
Java 8 ne dispose pas d'une opération de flux spécifique qui limite un flux potentiellement infini jusqu'à ce qu'un élément ne correspond pas à un prédicat donné. Alors que Java 9 introduit l'opération takeWhile à cet effet, les utilisateurs de Java 8 recherchent des stratégies d'implémentation alternatives.
Solution en Java 8
Pour implémenter une limitation de flux basée sur les prédicats en Java 8, l'approche suivante peut être utilisée :
Exemple :
IntStream.iterate(1, n -> n + 1) .limit(Long.MAX_VALUE) .filter(n -> n < 10) .forEach(System.out::println);
Java 9 et au-delà
Si vous utilisez Java 9 ou version ultérieure, l'opération takeWhile simplifie l'implémentation :
IntStream.iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!