Инклюзивный Takewhile () для потоковJAVA

Программисты JAVA общаются здесь
Anonymous
Инклюзивный Takewhile () для потоков

Сообщение Anonymous »

Я хочу знать, есть ли способ добавить последний элемент потока, который был проверен на условие метода Takewhile () . Я считаю, что хочу достичь чего -то похожего на метод rxjava takeuntil () .
Я предполагаю, что нет прямого способа сделать это (поправьте меня, если я ошибаюсь) , но я хотел бы знать, есть ли правильный обходной путь для достижения этого, который я теперь знаю. Если вы думаете, что есть потоки, которые могут решить мои проблемы, я бы, конечно, хотел бы их увидеть. Номер 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 System.out :: println Полем В этом случае это 5.
Спасибо всем!

Подробнее здесь: https://stackoverflow.com/questions/554 ... or-streams

Вернуться в «JAVA»