如何解决如何理解Stream.reduce()方法中的参数```BinaryOperator<U> combiner```?
我不明白 BinaryOperator<U> combiner
函数中 Stream.reduce
的含义。
<U> U reduce(U identity,BiFunction<U,? super T,U> accumulator,BinaryOperator<U> combiner);
例如,
@Test
public void test(){
//parallelStream
Integer sum2 = Arrays.asList(1,2,3,4,5).parallelStream().reduce(0,Integer::sum);
System.out.println(sum2); //15
//parallelStream combiner
Integer sum3 = Arrays.asList(1,Integer::sum,Integer::sum);
System.out.println(sum3); //15
//stream
Integer sum4 = Arrays.asList(1,5).stream().reduce(0,Integer::sum);
System.out.println(sum4); //15
//stream combiner
Integer sum5 = Arrays.asList(1,Integer::sum);
System.out.println(sum5); //15
}
这些方法有相同的结果,参数 BinaryOperator<U> combiner
,又名 Integer::sum
在这里扮演什么角色?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。