参见英文答案 >
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表示组合两个值的函数,它必须与累加器函数兼容
谢谢,
阿马尔
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。