java - 在 Java 中将多个集合组合成一个流的最简单方法是什么?

标签 java collections java-8 java-stream

假设我有多个集合,我想将它们作为一个流来处理。最简单的方法是什么?是否有可以为我执行此操作的实用程序类,还是我必须自己滚动一些东西?

如果我的问题不清楚,这基本上就是我想要做的:

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

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

最佳答案

或者,您可以使用 flatMap:

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

关于java - 在 Java 中将多个集合组合成一个流的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33535694/

相关文章:

java - 在 log4j2 中创建惰性消息

java - 如何使用 Java 8 中的方法引用连接 String ArrayList 的所有元素

java - 在 Java 中列出对象

java - WTP 服务器设置为 WebLogic Server 而不是 Tomcat

ruby - 如何使用 Ruby 集合函数合并空行中的值?

java - Java 8 API 上是否有一个函数可以计算两个日期(包括两者)之间的天数?

用于读取Word文档的Java库

Java JSP获取主机名(url),如果没有则重定向

list - Kotlin使数据类的构造函数同时接受List和MutableList,但存储它们的可变实例

java - 如何在 JAVA 中使用三个 foreach 循环创建单个 3 元素集合列表?