gpt4 book ai didi

java - 为什么在 java-8 stream reduce 操作中不执行 combiner 函数?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:21:37 25 4
gpt4 key购买 nike

<分区>

我想了解流中的 reduce 方法是如何工作的。

Stream.of(1,2,3,4,5,6,7).reduce(new ArrayList<>(),
(List<Integer> l, Integer a) -> {l.add(a);return l;},
(List<Integer> l1, List<Integer> l2) -> {
System.out.println("l1 is" + l1 + "l2 is " + l2);
l1.addAll(l2);
return l1;
}).forEach(System.out::println);

System.out.println("l1 is" + l1 + "l2 is " + l2)永远不会被打印出来。我可以理解 (List<Integer> l, Integer a) -> {l.add(a);return l;} 中发生了什么
有人能解释一下为什么没有打印出来吗?Java 文档说 function for combining two values, which must be compatible with the accumulator function

谢谢,阿马尔

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com