Scala二维数组



这听起来很简单,但是我就是做不好。

如何在Scala中创建一个大小为100乘60的2维数组?假设我有一个叫做Abcd的类我想创建一个Abcd的二维数组。我尝试了下面的代码,但不工作。

var myArray = new Array[Array[Abcd]](100,60)

它抱怨"构造函数Array的参数太多"

目前推荐使用ofDim:

var myArray = Array.ofDim[Abcd](100, 60)

或者如果您希望数组以ABCD开头而不是null

Array.fill[ABCD](100,6) { new ABCD }

或者如果ABCD以某种规则的方式随位置变化

Array.tabulate[ABCD](100,6) { (i,j) => new ABCD(i,j) }

我知道这个问题是有答案的,但我遇到的一个问题是,@alexwriteshere的解决方案和@Chick的解决方案只有在你想要一个矩阵时才好。

要创建一个二维数组(如果先查看行数,然后查看列数),执行如下操作:

val array = Array.ofDim[Array[Char]](2)
array(0) = Array.ofDim[Char](10)
array(1) = Array.ofDim[Char](20)

相关内容

  • 没有找到相关文章

最新更新