Begrenzen Sie einen Stream durch ein Prädikat

Gibt es eine Java 8-Stream-Operation, die eine (möglicherweise unendliche)Stream bis das erste Element nicht mit einem Prädikat übereinstimmt?

In Java 9 können wir verwendentakeWhile Wie im folgenden Beispiel, um alle Zahlen unter 10 zu drucken.

IntStream
    .iterate(1, n -> n + 1)
    .takeWhile(n -> n < 10)
    .forEach(System.out::println);

Wie lässt sich Java 8 generell am besten implementieren, da es in Java 8 keine solche Operation gibt?

Antworten auf die Frage(18)

Ihre Antwort auf die Frage