小编ATW*_*ATW的帖子

关于效率: .filter(Optional::isPresent).map(Optional::get) 不是比 .flatmap(Optional::stream) 更好吗?

Optional::stream如果存在,则返回一个包含该值的 Stream,否则返回一个空流。所以对于一个Stream<Optional<T>> optionals

optionals.flatMap(Optional::stream)
Run Code Online (Sandbox Code Playgroud)

返回一个Stream<T>包含所有选项的当前值。但是关于它背后的功能,我不确定为每个当前值创建一个自己的流然后 flatMapping 流的流的效率有多高。

但即使在文档中,这也被称为预期用途。

与首先过滤所有当前值然后将选项映射到它们的值相比,为什么流式传输选项流不是非常低效?

java optional java-stream

7
推荐指数
1
解决办法
110
查看次数

2
推荐指数
1
解决办法
2364
查看次数

标签 统计

java ×2

java-9 ×1

java-stream ×1

list ×1

optional ×1