Существует ли операция потока Java 8, которая ограничивает (потенциально бесконечный) Stream
до тех пор, пока первый элемент не будет соответствовать предикату?
В Java 9 мы можем использовать takeWhile
как в примере ниже, чтобы напечатать все числа меньше 10.
IntStream
.iterate(1, n -> n + 1)
.takeWhile(n -> n < 10)
.forEach(System.out::println);
Поскольку в Java 8 нет такой операции, каков наилучший способ ее реализации в общем виде?