Scala 数组


Scala是一种基于JVM的多范式编程语言。数组是Scala编程语言中一种最重要的数据结构之一。在Scala中,数组是一组相同类型的数据的集合,可以使用数组变量来引用它们。

Scala数组的定义

可以使用关键字“Ariay”来声明、定义一个Scala数组。以下是一个简单的Scala整数型数组的定义:

val intArray: Array[Int] = new Array[Int](3)

在上面的代码中,我们使用Array关键字来创建一个Scala数组。我们声明了一个名为intArray的变量,这个变量将保存Scala数组。在创建数组时,我们指定了数组的大小为3,因此可以在数组中存储3个整数。

Scala数组的访问

访问Scala中的数组元素是通过在数组名称后添加方括号([ ])来完成的,方括号中可以是元素位置或表示元素的索引。

以下是一个访问Scala数组元素的示例:

val intArray = new Array[Int](3)
intArray(0) = 10
intArray(1) = 20
intArray(2) = 30
println(intArray(0))

以上代码定义了一个大小为3的Scala整数型数组。接着,我们设置了数组中位置0、位置1和位置2的值为10、20和30。最后,我们打印了数组中位置0的值。

执行上面的代码,输出结果为:

10

Scala多维数组

Scala中也可以使用多维数组。多维数组是按照“行”和“列”等方式排列的。可以使用多个方括号来声明和访问多维数组。

下面是一个创建和访问二维数组的示例:

val matrix = 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 to 2) {
  for (j <- 0 to 2) {
    print(matrix(i)(j) + " ")
  }
  println()
}

以上代码定义了一个大小为3x3的Scala整数型二维数组。接着,我们设置了数组中每个位置的值。最后,我们使用嵌套循环依次访问每个数组元素,并将它们打印出来。

执行上面的代码,输出结果为:

1 2 3 
4 5 6 
7 8 9

Scala数组操作

Scala数组提供了许多内置的函数和方法来对数组进行操作,如:

  • concat():将两个数组合并成一个数组。
  • foreach():对每个数组元素执行指定的操作。
  • exists():检查数组中是否存在满足指定条件的元素。
  • filter():仅返回符合指定条件的数组元素。
  • count():返回与指定条件相符的元素数。
  • distinct():返回仅包含唯一值的数组。
  • drop():返回一个新的数组,其中剩余的元素都来自从头开始的“n”个元素的排除项。
  • take():返回一个新的数组,其中只包含从头开始的“n”个元素。
  • slice():返回一个新的数组,其元素从指定的索引开始,在给定的长度中保留了原始数组的元素。

总结

Scala数组是一组相同类型的数据的集合。可以使用关键字Array来声明和定义Scala数组。访问Scala数组元素是通过在数组名称后添加方括号([ ])来完成的。Scala数组提供了许多内置的函数和方法来对数组进行操作,如concat()、foreach()、exists()、filter()、count()、distinct()、drop()、take()和slice()等。