2015-11-05 89 views
9

假設我有多個集合,我想將它們作爲單個流來處理。最簡單的方法是什麼?是否有一個實用程序類可以爲我做這件事,還是我必須自己做一些東西?將多個集合合併到Java流中的最簡單方法是什麼?

如果我的問題不明確,實際上,這就是我想要做的事:

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

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

是啊,它的'java.util中.stream.Stream.concat'。看到http://stackoverflow.com/questions/22740464/adding-two-java-8-streams-or-an-extra-element-to-a-stream –

+0

整潔 - 我沒有意識到'concat'存在!謝謝! –

回答

13

或者,你可以使用flatMap:

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