scala - 是否可以确保按foreach定义按顺序在Scala中迭代主题集合?

标签 scala collections foreach parallel-processing

是否可以确保foreach按定义从第一个元素到最后一个元素(除非意外中断)顺序地迭代主题集合(如果定义了顺序)?难道没有任何编译器优化开关可以阻止它(改组序列)或计划在将来的版本中使普通的foreach并行吗?

最佳答案

对于顺序收集(即正常层次结构或由.seq转换的任何内容),保证Foreach是顺序的。集合库的并行部分(可以通过.par或通过显式使用collection.parallel的类从标准集合中获取)可以保证不按顺序求值。如果您想成为不可知论者,可以使用GenX一组特征(例如GenSeq);这些都不能保证执行顺序,也不能保证并行进行工作。

关于scala - 是否可以确保按foreach定义按顺序在Scala中迭代主题集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439535/

相关文章:

flutter - 如何在flutter中使用foreach方法

scala:将错误添加到错误列表的惯用和功能方式

scala - 如何从Scala迭代器获取不同的项目,保持懒惰

隐式 def 中的 Scala 高级类型失败,错误为 "could not find implicit value"

java - 设置具有相同的删除,但都不会覆盖另一个错误

php - 根据数组的数量循环遍历数组和输出链接

Scala Websocket 客户端?

java - java 内存不足错误?即使我给了 JVM 足够的初始和最大内存大小

java - 为 Java 中的可变对象设置集合

php - 为什么 current() 会跳过 foreach() 语句中的第一个数组元素?