这可能吗(伪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
那样减少元素数量)?
是的。flatmap
就是这样做的。
Stream<X> b = someList.stream().flatMap(l -> l.stream());
假设somelist
是一个列表
,flatmap
会将内部列表的所有元素扁平化为一个流。
本文向大家介绍Java将可选流转换为值流,包括了Java将可选流转换为值流的使用技巧和注意事项,需要的朋友参考一下 示例 您可能需要一个转换Stream发射Optional到一个Stream值,从现有的发射只值Optional。(即:没有null价值,不与之打交道)。Optional.empty()
继承了一个iterator()方法来生成。 但我需要一个而不是。
我在处理流时遇到了一些麻烦。本质上,我有一个
我要将转换为: 如果可选选项包含值,则流包含该值。 如果可选项不包含值,则流应为空。
我想用可选的。由于只能连接流,我有以下问题: 如何将可选 转换为流 ? 示例:
除了这个用例,流还有很多问题 我有一个巨大的对象流