簡體   English   中英

Java 8:將流列表合並為一個 stream

[英]Java 8: Combine List of streams into one single stream

所以我有一個 List<Stream> ,我通過執行一系列事務獲得。 事情是列表大小是動態的(最多 3 個元素)所以我不能這樣做:

Stream<String> finalStream = Stream.concat(list.get(0),Stream.concat(list.get(1),list.get(2));

所以我需要的是將 Streams 列表連接到一個 Stream 中。

有什么簡單的方法嗎,謝謝。

如果你有一個列表列表,或者一個 stream 流,或者 collections 的任何集合,你可以使用flatMap來展平它們。 flatMap應用一個映射 function,它必須返回一個 stream 到輸入,並流式傳輸映射 function 的結果的每個元素。

在你的情況下,你可以這樣做:

var finalStream = list.stream().flatMap(x -> x);

x -> x是 function 的標識,它返回未修改的輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM