Scala 中的多维数组
多维数组基本上是以矩阵格式存储数据的数组。对于矩阵和表格,我们需要多维数组。我们可以使用Array.ofDim和Array of Array方法创建多维数组。句法
val arrayname = Array.ofDim[data_type](number of rows, number of cols)
or
var arrayname = Array(Array(elements), Array(elements))
使用 Array.ofDim 的多维数组
Scala 有一个方法Array.ofDim来创建一个多维数组。这种方法可用于创建最多五个维度的数组。要求我们需要在创建时知道行数和列数。声明数组后,我们向它添加元素。
例子:
// Scala Program of Multidimensional array
// using Array.ofDim
object MultiArr
{
def main(args: Array[String])
{
//creating the array of 2 rows and 2 columns
val mymultiarr= Array.ofDim[Int](2, 2)
//Assigning the values
mymultiarr(0)(0) = 2
mymultiarr(0)(1) = 7
mymultiarr(1)(0) = 3
mymultiarr(1)(1) = 4
for(i<-0 to 1; j<-0 until 2)
{
print(i, j)
//Accessing the elements
println("=" + mymultiarr(i)(j))
}
}
}
输出
(0,0)=2
(0,1)=7
(1,0)=3
(1,1)=4
使用 Array of Array 的多维数组
这提供了对过程的更多控制,并让我们创建“参差不齐”的数组(其中每个包含的数组可能具有不同的大小)。我们还可以使用Array of Array创建多维数组。在下面的示例中,我们使用 Array of Array 创建了一个多维数组。
例子:
// Scala Program of Multidimensional array
// using Array of Array
object MultiArr
{
def main(args: Array[String])
{
// Creating and assigning the values
// to the array
var arr= Array(Array(0, 2, 4, 6, 8),
Array(1, 3, 5, 7, 9))
for(i<-0 to 1)
{
for(j<- 0 to 4)
{
// Accessing the values
print(" "+arr(i)(j))
}
println()
}
}
}
输出:
0 2 4 6 8
1 3 5 7 9
现在,让我们考虑一个显示带有 (row, column) 的元素的示例
例子:
// Scala Program of Multidimensional array
// using Array of Array
object Mad
{
def main(args: Array[String])
{
// Creating and assigning the values to the array
var arr= Array(Array(0, 2, 4, 6, 8),
Array(1, 3, 5, 7, 9))
for(i<-0 to 1; j<-0 until 5)
{
print(i, j)
//Accessing the elements
println("=" + arr(i)(j))
}
}
}
输出:
(0,0)=0
(0,1)=2
(0,2)=4
(0,3)=6
(0,4)=8
(1,0)=1
(1,1)=3
(1,2)=5
(1,3)=7
(1,4)=9