2010-03-04 90 views
39

如何創建多個維度的數組?如何在Scala中創建和使用多維數組?

例如,我想要一個整數或雙重矩陣,類似於Java中的double[][]

我知道一個事實,即數組在Scala 2.8中發生了變化,舊數組已被棄用,但是現在有多種方法可以實現,如果是,哪個最好?

回答

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)) 
+0

非常漂亮 – Felix 2010-03-04 20:53:19

+2

是'數組[數組[INT]]'相當於'INT [] []'在Java中(快捷!)?因爲我聽到惡毒的謠言,否則http://stackoverflow.com/questions/6090684 – 2011-05-23 09:02:50

14

它棄用。同伴對象出口工廠方法ofDim

val cube = Array.ofDim[Float](8, 8, 8)