Я хочу знать, есть ли способ добавить последний элемент потока, который был протестирован с условием метода takeWhile (). Я считаю, что хочу добиться чего-то похожего на метод takeUntil () в RxJava.
Я полагаю, что прямого способа сделать это нет (поправьте меня, если я ошибаюсь), но я хотел бы знать, есть ли подходящий обходной путь для достижения этого, о котором я теперь знаю.
Я искал по всему Stackoverflow практически безуспешно. Если вы думаете, что есть темы, которые могут решить мои проблемы, я бы, конечно, хотел бы увидеть это.
Если вы посмотрите на следующий код peek (), вы увидите, что число 5 проверяется на соответствие условию takeWhile (), но оно никогда не прибывает в forEach ():
IntStream.of(1, 3, 2, 5, 4, 6)
.peek(foo -> System.out.println("Peek: " + foo))
.takeWhile(n -> n < 5)
.forEach(bar -> System.out.println("forEach: " + bar));
Ожидаемый результат - последний элемент, проверенный по условию takeWhile, попадет в forEach's System.out :: println. В этом случае это 5.
Спасибо всем!