- 基本概念
- 在 Scala 中,
Array
是一种可变的、索引从 0 开始的集合类型,用于存储固定大小的同类型元素序列。它类似于其他编程语言中的数组,在内存中是连续存储的,这使得通过索引访问元素非常快速。 - 例如,如果你想存储一组学生的成绩,这些成绩都是整数类型,就可以使用
Array
来存储。
- 在 Scala 中,
- 创建 Array
- 直接初始化:
- 可以通过在括号中列出元素来创建一个
Array
。例如,val array1 = Array(1, 2, 3)
,这就创建了一个包含整数 1、2、3 的Array
。
- 可以通过在括号中列出元素来创建一个
- 指定大小初始化(填充默认值):
- 可以使用
new
关键字来创建一个指定大小的Array
,并填充默认值。对于数值类型,默认值是 0;对于引用类型,默认值是null
。例如,val array2 = new Array[Int](5)
会创建一个长度为 5 的整数数组,其元素初始值都是 0。
- 可以使用
- 直接初始化:
- 访问 Array 元素
- 通过索引来访问
Array
元素,索引从 0 开始。例如,对于val array = Array(1, 2, 3)
,array(0)
返回 1,array(1)
返回 2,array(2)
返回 3。 - 如果使用超出范围的索引(小于 0 或者大于等于数组长度)来访问元素,会抛出
ArrayIndexOutOfBoundsException
异常。
- 通过索引来访问
- 修改 Array 元素(可变特性)
- 因为
Array
是可变的,所以可以修改其中的元素。例如,对于val array = Array(1, 2, 3)
,可以通过array(1) = 4
将索引为 1 的元素(原来是 2)修改为 4,此时array
变为Array(1, 4, 3)
。
- 因为
- Array 的操作方法
- 长度获取:
- 使用
length
属性来获取Array
的长度。例如,对于val array = Array(1, 2, 3)
,array.length
等于 3。
- 使用
- 遍历方法:
- 基于索引的遍历:可以使用
for
循环结合索引来遍历Array
。例如,val array = Array(1, 2, 3)
,for(i <- 0 until array.length) println(array(i))
会逐个打印数组中的元素。这里0 until array.length
表示从 0 到array.length - 1
的整数序列。 - 直接遍历元素:也可以使用
for - each
风格的循环来直接遍历元素。例如,val array = Array(1, 2, 3)
,array.foreach(println)
会逐个打印数组中的元素。
- 基于索引的遍历:可以使用
- 数组转换方法:
- map 方法:用于对数组中的每个元素应用一个函数,并返回一个新的数组。例如,
val array = Array(1, 2, 3)
,val newArray = array.map(_ * 2)
会返回一个新数组,其中的元素是原数组元素的 2 倍,即Array(2, 4, 6)
。 - filter 方法:用于筛选出满足特定条件的元素,并返回一个新数组。例如,
val array = Array(1, 2, 3)
,val filteredArray = array.filter(_ > 1)
会返回一个新数组,其中包含大于 1 的元素,即Array(2, 3)
。
- map 方法:用于对数组中的每个元素应用一个函数,并返回一个新的数组。例如,
- 长度获取:
- 与其他集合类型的转换
- 可以将
Array
转换为其他集合类型,如List
或Set
。例如,val array = Array(1, 2, 2)
,val listFromArray = array.toList
会将Array
转换为一个List
,其中包含1, 2, 2
;val setFromArray = array.toSet
会将Array
转换为一个Set
,由于Set
不包含重复元素,所以这个Set
包含1, 2
。
- 可以将
08-13
572

05-07
2965
