[英]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.