Java中将多个集合合并为一个流的最简单方法是什么?

10

假设我有多个集合,希望将它们作为一个流来处理。最简单的方法是什么?是否有实用程序类可以帮我完成这个任务,或者我必须自己编写代码?

如果我的问题不清楚,具体来说,我想要做的是:

Collection<Region> usaRegions;
Collection<Region> canadaRegions;
Collection<Region> mexicoRegions;
Stream<Region> northAmericanRegions = collect(usaRegions, canadaRegions, mexicoRegions);

public Stream<T> collect(T...) {
     /* What goes here? */
}

6
没问题,这句话的意思是:是的,它是java.util.stream.Stream.concat。请参见https://dev59.com/FmEh5IYBdhLWcg3wKQrY。 - ug_
1
整洁--我没有意识到concat的存在!谢谢! - Dylan Knowles
1个回答

18

或者,您可以使用flatMap:

Stream<Region> = 
    Stream.of(usaRegions, canadaRegions, mexicoRegions)
          .flatMap(Collection::stream);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接