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

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

Сообщение Anonymous »

Я хочу знать, есть ли способ добавить последний элемент потока, который был проверен на соответствие условию метода takeWhile(). Я считаю, что хочу добиться чего-то похожего на метод takeUntil() в RxJava.
Я предполагаю, что прямого способа сделать это нет (поправьте меня, если я ошибаюсь). , но я хотел бы знать, существует ли подходящий обходной путь для достижения этой цели, о котором я теперь знаю.
Я искал по всему Stack Overflow, но безуспешно. Если вы думаете, что есть потоки, которые могли бы решить мои проблемы, я бы определенно хотел их увидеть.
Если вы посмотрите на 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, достигнет System.out::println forEach . В данном случае это 5.
Спасибо всем!

Подробнее здесь: https://stackoverflow.com/questions/554 ... or-streams
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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