参见英文答案 >
Java 8 Stream – Reduce function’s combiner not getting executed 2个
我试图了解流中的reduce方法是如何工作的.
我试图了解流中的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是”l1“l2是”l2“)行永远不会打印出来.
我可以理解发生了什么(List< Integer> l,Integer a) – > {l.add(a); return l;}
有人可以解释为什么不打印?
java docs表示组合两个值的函数,它必须与累加器函数兼容
谢谢,
阿马尔