我在 Scala 中创建了归零数组(0 until Nrows).map (_ => 0).toArray
但有什么更快的吗? map
很慢。
我有同样的问题,但用 1 而不是 O,即我也想加速 (0 until Nrows).map (_ => 1).toArray
最佳答案
零是 Int 数组的默认值,因此只需执行以下操作:
val array = new Array[Int](NRows)
如果您希望所有这些值都为 1,请使用 .fill() (感谢@gourlaysama):
val array = Array.fill(NRows)(1)
然而,看看这在内部是如何工作的,它涉及创建一些您不需要的对象。如果速度是您的主要关注点,我怀疑以下(更丑陋的)方法可能会更快:
val array = new Array[Int](NRows)
for (i <- 0 until array.length) { array(i) = 1 }
关于arrays - 在 Scala 中创建归零数组的更快方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23633629/