Slide 57
Slide 57 text
Poslednji primer
CompletableFuture closing = new CompletableFuture<>();
Stream manyStrings = Stream.of("one", "two", "three");
CompletableFuture reduce =
manyStrings
.parallel() // !
.onClose(() -> closing.complete(">"))
.filter(s -> s.length() < 4)
.map(CompletableFuture::completedFuture)
.reduce(closing, (cf1, cf2) -> cf1.thenCombine(
cf2, (BinaryOperator) (s1, s2) -> s1 + s2)
);
manyStrings.close();
System.out.println(reduce.get());
DAFEDLOVE | HeapSpace, 2016 57