foreach定义是否保证在Scala中按顺序迭代主题集合?

Iva*_*van 15 collections parallel-processing foreach scala

是否foreach保证按照定义从第一个到最后一个(除非意外中断)元素顺序迭代主题集合(如果它定义顺序)?是不是有任何编译器优化开关可以制动它(洗牌顺序)或计划foreach在未来版本中进行普通并行?

Rex*_*err 18

对于顺序集合(即,正常的层次结构,或对于任何转换的内容.seq),Foreach保证是顺序的.集合库的并行部分(通过.par或通过显式使用类从标准集合中获取collection.parallel)几乎保证按顺序进行评估.如果你想要不可知,你可以使用这GenX组特征(例如GenSeq); 这些都不能保证执行顺序或工作将并行完成.