Я пытаюсь реализовать короткую закрученную обработку для внешнего ввода java.util.stream (think stream.foreach () , но с коротким замыканием). Я не забочусь о порядке элементов, но их личность и счет важны. У меня уже есть решение, основанное на потоке. Spliterator () и некоторое время цикл, однако он не параллелизирован и его трудно читать. У меня есть ненадежный намек на использование allmatch () для короткого замыкания операции.
Код: Выделить всё
@Test
public void anyMatch() {
AtomicLong count = new AtomicLong(0);
IntStream.range(0, Integer.MAX_VALUE).parallel().allMatch(i -> {
count.incrementAndGet();
return true;
});
Assert.assertEquals(count.get(), Integer.MAX_VALUE);
}
imo, учитывая характер базового Spliterator.trysplit () Это надежный подход, но я хотел бы как -то получить подтверждение и прогноз.
Подробнее здесь:
https://stackoverflow.com/questions/797 ... me-element