如何在Scala中创建和使用多维数组?

Fel*_*lix 39 arrays scala

如何创建多个维度的数组?

例如,我想要一个整数或双矩阵,就像double[][]在Java中一样.

我知道Scala 2.8中的数组发生了变化,并且旧的数组已被弃用,但是现在有多种方法可以做到这一点,如果有的话,哪个最好?

ret*_*nym 59

像这样:

scala> Array.ofDim[Double](2, 2, 2)
res2: Array[Array[Array[Double]]] = Array(Array(Array(0.0, 0.0), Array(0.0, 0.0)), Array(Array(0.0, 0.0), Array(0.0, 0.0)))

scala> {val (x, y) = (2, 3); Array.tabulate(x, y)( (x, y) => x + y )}
res3: Array[Array[Int]] = Array(Array(0, 1, 2), Array(1, 2, 3))
Run Code Online (Sandbox Code Playgroud)

  • 在Java中,`Array [Array [Int]]`等同于`int [] []`吗?因为我听到恶意谣言http://stackoverflow.com/questions/6090684 (2认同)

小智 14

它被弃用了.Companion对象导出工厂方法ofDim:

val cube = Array.ofDim[Float](8, 8, 8) 
Run Code Online (Sandbox Code Playgroud)