当前位置: 首页 > 知识库问答 >
问题:

我可以将流转换为流吗?[副本]

漆雕正奇
2023-03-14

这可能吗(伪Java):

someList = [
  [1,2],
  [3,4]
];
Stream<List<X>> a = someList.stream();
Stream<X> b = a.whatever(...);
assert b.collect(list).equals([1,2,3,4]);

更笼统地说,在流上是否有一个操作可以增加流中的元素数量(而不是像filter那样减少元素数量)?

共有1个答案

洪光霁
2023-03-14

是的。flatmap就是这样做的。

Stream<X> b = someList.stream().flatMap(l -> l.stream());

假设somelist是一个列表 flatmap会将内部列表的所有元素扁平化为一个流。

 类似资料: