arrays - 在 Scala 中创建归零数组的更快方法

标签 arrays scala

我在 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/

相关文章:

ruby-on-rails - 如何使用混合字符串和 Fixnums 对 Ruby 数组进行排序

mysql - 如何将数组设置为mysql用户变量

scala - 如何将 Akka ByteString 转换为 String?

java - 使用访问权限和私钥访问google云存储java

scala - 为什么 foldRight 和 reduceRight 不是尾递归的?

javascript - 从数组中删除匹配的字符串

arrays - 查询 Mongodb 对象数组的第一个元素的总和

c - C数组中元素的总和

scala - 使用 Akka http 发送请求

python - 什么相当于 scala.util.Try 在 pyspark 中?