Scala 数组
Scala 数组是存储固定数量元素的同类型数据结构。Scala 提供了两种主要的数组类型:Array
和 ArrayBuffer
。Array
是固定长度的,而 ArrayBuffer
是可变的,允许添加和删除元素。
Array
Scala 中的 Array
是一个具有固定大小的数据结构,一旦创建,其大小就不能改变。Array
是同质的,意味着它只能存储相同类型的元素。
创建 Array
创建 Array
可以使用 Array
对象的 apply
方法,也可以直接使用数组字面量。
val numbers = Array(1, 2, 3, 4, 5)
val fruits = Array("apple", "banana", "cherry")
访问元素
Scala 数组是基于索引的,第一个元素的索引是 0。
val firstNumber = numbers(0) // 1
遍历 Array
可以使用 for
循环或 foreach
方法遍历数组元素。
for (fruit <- fruits) {
println(fruit)
}
fruits.foreach(println)
修改 Array
虽然 Array
本身是不可变的,但你可以修改其元素。
numbers(0) = 10
ArrayBuffer
ArrayBuffer
是一个可变的序列,提供了更多灵活的操作,如添加和删除元素。
创建 ArrayBuffer
创建 ArrayBuffer
与创建 Array
类似,但需要导入 scala.collection.mutable.ArrayBuffer
。
import scala.collection.mutable.ArrayBuffer
val buffer = ArrayBuffer(1, 2, 3)
添加元素
可以使用 +=
运算符或 append
方法添加元素。
buffer += 4
buffer.append(5, 6)
删除元素
可以使用 -=
运算符或 remove
方法删除元素。
buffer -= 3
buffer.remove(0) // 移除第一个元素
转换为 Array
可以使用 toArray
方法将 ArrayBuffer
转换为 Array
。
val array = buffer.toArray
多维数组
Scala 也支持多维数组。可以使用 ofDim
方法创建多维数组。
val matrix = Array.ofDim[Int](3, 3)
总结
Scala 的 Array
和 ArrayBuffer
提供了强大的数组处理能力。Array
用于固定大小的场景,而 ArrayBuffer
用于需要动态修改的场景。了解和掌握这些数组类型对于 Scala 编程至关重要。