JavaLambdaInternals icon indicating copy to clipboard operation
JavaLambdaInternals copied to clipboard

疑问

Open xixifeng opened this issue 7 years ago • 2 comments

Stream<String> stream = Stream.of("I", "love", "you", "too");
List<String> list = stream.collect(ArrayList::new,ArrayList::add,(t,u)-> {
			System.out.println("t:" + t+" u:" + u);
			t.addAll(u);
});
System.out.println(list);

谢谢, 你启发(正反参半)了我.

这个例子,collect的第三个参数并没有执行,若能举一个体现第三个参数作用的例子会更好.

xixifeng avatar Apr 24 '18 02:04 xixifeng

Stream<String> stream = Stream.of("I", "love", "you", "too").parallel();换成并行流时候,第三个参数会起作用

keanu9527 avatar Jun 12 '18 01:06 keanu9527

@xixifeng 第三个是merge函数,在Stream并发时会对输入做切分,分别执行中间的过程,最后合并结果,这个时候就有效果了。

mrdear avatar Dec 04 '18 01:12 mrdear