Java8ParallelStream将返回列表收集到单个列表中,而不是列表的列表
我想将并行流中的列表结果收集到一个列表中。让我们看看这段代码,更好地解释我的问题。这就是我得到的:Java8ParallelStream将返回列表收集到单个列表中,而不是列表的列表,java,lambda,java-8,Java,Lambda,Java 8,我想将并行流中的列表结果收集到一个列表中。让我们看看这段代码,更好地解释我的问题。这就是我得到的: List<Object> a = new ArrayList<>(); List<List<Object>> result a.parallelStream() // I get a List of List .map(a -> { return new ArrayList(); }) .collect(Collectors.to
List<Object> a = new ArrayList<>();
List<List<Object>> result a.parallelStream() // I get a List of List
.map(a -> { return new ArrayList(); })
.collect(Collectors.toList());
List a=new ArrayList();
List result a.parallelStream()//我得到一个列表
.map(a->{return new ArrayList();})
.collect(Collectors.toList());
但我真正想要的是:
List<Object> a = new ArrayList<>();
List<Object> result a.parallelStream() // I want to add all list elements into one List of objects
.map(a -> { return new ArrayList(); })
.collect(Collectors.???);
List a=new ArrayList();
List result a.parallelStream()//我想将所有列表元素添加到一个对象列表中
.map(a->{return new ArrayList();})
.收集(收集器);
flatMap
可以将内部列表的元素折叠为单个列表:
List<List<Object>> a = ...
List<Object> result = a.stream()
.flatMap (l -> l.stream())
.collect(Collectors.toList());
列表a=。。。
列表结果=a.stream()
.flatMap(l->l.stream())
.collect(Collectors.toList());
flatMap
可以将内部列表的元素折叠为单个列表:
List<List<Object>> a = ...
List<Object> result = a.stream()
.flatMap (l -> l.stream())
.collect(Collectors.toList());
列表a=。。。
列表结果=a.stream()
.flatMap(l->l.stream())
.collect(Collectors.toList());
我无法抗拒:我无法抗拒: