Java 8: Stream-Begrenzung basierend auf Prädikatsübereinstimmung implementieren
In Java 8 fehlt eine spezifische Stream-Operation, die einen potenziell unendlichen Stream bis zu einem Element begrenzt stimmt nicht mit einem bestimmten Prädikat überein. Während Java 9 zu diesem Zweck die takeWhile-Operation einführt, suchen Java 8-Benutzer nach alternativen Implementierungsstrategien.
Lösung in Java 8
Um prädikatbasierte Stream-Begrenzung in Java zu implementieren 8 kann der folgende Ansatz verwendet werden:
Beispiel:
IntStream.iterate(1, n -> n + 1) .limit(Long.MAX_VALUE) .filter(n -> n < 10) .forEach(System.out::println);
Java 9 und höher
Bei Verwendung von Java 9 oder höher vereinfacht die takeWhile-Operation die Implementierung:
IntStream.iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println);
Das obige ist der detaillierte Inhalt vonWie kann ich einen unendlichen Java 8-Stream basierend auf einem Prädikat begrenzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!