September 2019
Intermediate to advanced
816 pages
18h 47m
English
The accumulator() method returns the function that performs the reduction operation. This is BiConsumer, which is an operation that accepts two input arguments and returns no result. The first input argument is the current result container (being the result of the reduction so far), and the second input argument is the current element from the stream. This function modifies the result container itself by accumulating the traversed element or an effect of traversing this element. In our case, accumulator() adds the currently traversed element to one of the two ArrayLists:
@Overridepublic BiConsumer<Map<Boolean, List<Melon>>, Melon> accumulator() { return (var acc, var melon) -> { acc.get(melon.getWeight() ...