java - 在流管道中放置 parallel() 调用的位置是否重要?
问题描述
例如,parallel()
之前filter()
Stream.of(...)
.parallel()
.filter(...)
.forEach(...);
parallel()
之后_filter()
Stream.of(...)
.filter(...)
.parallel()
.forEach(...);
调用顺序parallel()
会影响流吗?
解决方案
你放在哪里都没有关系parallel()
。forEach
在调用终端操作(在您的情况下)之前,不会评估流。
来自 Javadoc:
返回一个等效的并行流。可能会返回自身,因为流已经是并行的,或者因为基础流状态被修改为并行。这是一个中间操作。
顺序重要的唯一情况是如果您也调用sequential
,在这种情况下适用以下情况:
最新的顺序或并行模式设置适用于整个流管道的执行。
有关更多信息,请参阅相关的 Javadoc
推荐阅读
- mysql - 在 mariadb 上启用 SSL
- selenium - 如何只为场景大纲执行几个随机示例?
- javascript - 在表格中添加和删除行
- react-native - 从 react-native TextInput 中删除下划线
- reactjs - React Native TextInput 有一个默认值当状态改变时我们如何更新/传递 DefualtValue 作为文本条目(onchangetext)
- wordpress - 如何使 WordPress 用户配置文件中的自定义字段只读?
- laravel - 具有记住我功能的laravel登录,数据库中没有字段
- python - Python RuntimeError 目标形状不匹配
- javascript - 创建后动态分配 gridster 数据行
- influxdb - 外部查询中的 InfluxQL“按时间分组”需要内部查询中的聚合函数