数组
Scala语言中提供的数组是用来存储固定大小的同类型元素的。数组的第一个元素索引为0,最后一个元素的索引为元素总数减1。
Scala中数组分为定长数组和变长数组。创建定长数组Array的两种方式:
- 先创建,后赋值;
- 创建的同时赋初值。
例如,在下面的代码中,创建了一个名为names的数组,用来存储3个人的姓名:
val names = Array("张三","李四","王老五") names(0) names(1) names(2) names(0) = "张小三" // 数组元素的值可以改变 names(0) val numbers = Array(1,2,3,4,5) numbers(0) + numbers(1)
输出如下所示:
names: Array[String] = Array(张三, 李四, 王老五) res16: String = 张三 res17: String = 李四 res18: String = 王老五 res20: String = 张小三 numbers: Array[Int] = Array(1, 2, 3, 4, 5) res21: Int = 3
也可以先创建一个空的数组,然后再赋值,如下面的代码所示:
val arrs = new Array[Int](3) // 先创建一个长度为3的整型数组,所有元素初始化为0 arrs(0) arrs(0) = 1 arrs(1) = 11 arrs val arrs1 = new Array[String](3) arrs1(0) val arrs2 = new Array[Boolean](3) arrs2(0)
输出结果如下:
arrs: Array[Int] = Array(0, 0, 0) res9: Int = 0 res12: Array[Int] = Array(1, 11, 0) arrs1: Array[String] = Array(null, null, null) res13: String = null arrs2: Array[Boolean] = Array(false, false, false) res14: Boolean = false
也可以使用工具方法赋值(在Scala中,所有的工具方法都是在伴生对象中定义的):
val array1 = Array.fill(5)(3.5) val array2 = Array.fill(3)(math.random)
输出结果如下:
array1: Array[Double] = Array(3.5, 3.5, 3.5, 3.5, 3.5) array2: Array[Double] = Array(0.6765717365372399, 0.936889692262062, 0.9403123661472736)
注:关于数组更详细的内容,我们将在1.4小节详细讲解。