【发布时间】:2018-06-15 13:50:23
【问题描述】:
Stream.flatMap() 操作转换流
a, b, c
到每个输入元素包含零个或多个元素的流中,例如
a1, a2, c1, c2, c3
是否有相反的操作将几个元素组合成一个新元素?
- 不是.reduce(),因为它只产生一个结果
- 不是collect(),因为这只填充了一个容器(afau)
- 它不是 forEach(),因为它只返回
void并且有副作用
它存在吗?我可以用任何方式模拟它吗?
【问题讨论】:
-
你在寻找什么返回类型?
-
Stream
进入,Stream 出现,其中 Y 是 X 的某种组合。原则上,整个事情与 collect() 非常相似,除了它会真正保持“流式传输”,而不是先收集然后流式传输结果:正如@Lino 的回答。 -
你想要
Collectors.groupingBy。
标签: java java-stream