1 java concatenation java-stream
我有一个List<Stream<String>>通过一系列交易得到的。列表大小是动态的(最多 3 个元素),所以我不能这样做:
Stream<String> finalStream = Stream.concat(list.get(0),Stream.concat(list.get(1),list.get(2));
Run Code Online (Sandbox Code Playgroud)
我需要将 Streams 列表连接成一个Stream<String>. 有什么简单的方法可以做到这一点吗?
如果您有一个列表的列表,或者一个流的流,或者任何集合的集合,您可以使用flatMap它们来展平它们。flatMap应用映射函数,该函数必须将流返回到输入,并流式传输映射函数结果的每个元素。
对于你的情况,你可以这样做:
var finalStream = list.stream().flatMap(x -> x);
Run Code Online (Sandbox Code Playgroud)
x -> x是返回未修改的输入的识别函数。如果您愿意,可以将其替换为表达式Function.identity()。
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |