是的,只要您没有将并行流显式转换为
unordered()模式,即使您正在使用并行流,也可以期望这样做。
顺序永远不会在顺序模式下更改,但可能会在并行模式下更改。流变得无序:
- 如果您通过
unordered()
调用将其明确转换为无序模式 - 如果流源报告它是无序的(例如,
HashSet
流是无序的,因为顺序取决于实现,因此您不能依赖它) - 如果您使用的是无序终端操作(例如,进行
forEach()
操作或像一样收集到无序收集器toSet()
)
在您的情况下,这些条件均不满足,因此可以对您的流进行排序。



