关于收集(供应商、蓄能器、合路器)
2022-09-03 06:04:57
我不明白以下方法的第三个参数的效用:
<R> R collect(Supplier<R> supplier,
BiConsumer<R,? super T> accumulator,
BiConsumer<R,R> combiner)
来自 javaDoc:
这将生成等效于以下内容的结果:
R result = supplier.get(); for (T element : this stream) accumulator.accept(result, element); return result;
如您所见,该参数未被使用。例如,以下内容会将字符串累积到 ArrayList 中:combiner
List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add,
ArrayList::addAll);
但我期望这个:
List<String> asList = stringStream.collect(ArrayList::new, ArrayList::add );