📜  Scala集合-多维数组(1)

📅  最后修改于: 2023-12-03 15:05:05.096000             🧑  作者: Mango

Scala集合-多维数组

在Scala中,可以使用多维数组来存储和操作二维或更高维的数据集合。多维数组是一种由多个一维数组组成的数据结构,每个一维数组都是一个索引集合。可以使用两种方式来定义多维数组:用逗号分隔的多个中括号,或者使用嵌套的数组。

使用逗号分隔的多个中括号

以下是一个使用逗号分隔的多个中括号来定义多维数组的示例代码:

val matrix: Array[Array[Int]] = Array.ofDim[Int](3, 3)

matrix(0)(0) = 1
matrix(0)(1) = 2
matrix(0)(2) = 3
matrix(1)(0) = 4
matrix(1)(1) = 5
matrix(1)(2) = 6
matrix(2)(0) = 7
matrix(2)(1) = 8
matrix(2)(2) = 9

for (i <- 0 until 3) {
  for (j <- 0 until 3) {
    print(matrix(i)(j) + " ")
  }
  println()
}

在上面的代码中,我们使用了 Array.ofDim 方法来创建一个由 Int 类型元素组成的 3x3 矩阵。然后,我们通过对 matrix 数组的索引来设置矩阵的元素值。最后,我们使用嵌套的循环来打印出矩阵的元素值。

使用嵌套的数组

以下是一个使用嵌套的数组来定义多维数组的示例代码:

val matrix: Array[Array[Int]] = Array(
  Array(1, 2, 3),
  Array(4, 5, 6),
  Array(7, 8, 9)
)

for (row <- matrix) {
  for (elem <- row) {
    print(elem + " ")
  }
  println()
}

在上面的代码中,我们使用了嵌套的 Array 对象来创建一个由 Int 类型元素组成的 3x3 矩阵。然后,我们使用嵌套的循环来打印出矩阵的元素值。

小结

在Scala中,可以使用多维数组来存储和操作二维或更高维的数据集合。可以使用逗号分隔的多个中括号,或者使用嵌套的数组来定义多维数组。无论使用哪种方式,都需要使用嵌套的循环来访问和操作多维数组的元素。