如何在 Scala 中创建和使用多维数组?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2381908/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to create and use a multi-dimensional array in Scala?
提问by Felix
How do I create an array of multiple dimensions?
如何创建多维数组?
For example, I want an integer or double matrix, something like double[][]in Java.
例如,我想要一个整数或双矩阵,就像double[][]在 Java 中一样。
I know for a fact that arrays changed in Scala 2.8 and that the old arrays are deprecated, but are there multiple ways to do it now and if yes, which is best?
我知道 Scala 2.8 中的数组发生了变化并且旧数组已被弃用,但是现在有多种方法可以做到这一点,如果是,哪种方法最好?
回答by retronym
Like so:
像这样:
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))
回答by Solymosi
It's deprecated. Companion object exports factory methods ofDim:
它已被弃用。伴随对象导出工厂方法ofDim:
val cube = Array.ofDim[Float](8, 8, 8)
回答by dalwinder singh
How to create and use a multi-dimensional array in Scala?
如何在 Scala 中创建和使用多维数组?
var dd : Array[(Int, (Double, Double))] = Array((1,(0.0,0.0)))
var dd : Array[(Int, (Double, Double))] = Array((1,(0.0,0.0)))

