I do not understand the utility of the third parameter of the following method:
<R> R collect(Supplier<R> supplier,
BiConsumer<R,? super T> accumulator,
BiConsumer<R,R> combiner)
from javaDoc:
This produces a result equivalent to:
R result = supplier.get(); for (T element : this stream) accumulator.accept(result, element); return result;
as you can see the parameter combiner
is not used. For example, the following will accumulate strings into an ArrayList:
List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add,
ArrayList::addAll);
but I expected this:
List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add );