scala中的ArrayBuffer和Array
在Scala中,ArrayBuffer和Array是两种不同的数据结构,用于存储一组元素。
Array是一个固定长度的可变序列,它在内存中是连续存储的。一旦创建,其长度就不能改变。可以通过索引访问和修改元素。Array与Java中的数组类似,可以使用Array类的工厂方法来创建,例如Array()或者Array.apply()。
示例:
val arr: Array[Int] = Array(1, 2, 3, 4, 5)
arr(0) = 10 // 修改第一个元素
println(arr(0)) // 输出10
ArrayBuffer是一个可变的序列,内部使用一个数组来存储元素。它可以动态地增加和减少元素,因此它的长度是可变的。当元素数量超过数组的长度时,会自动分配一个更大的数组来存储元素,并将旧数组中的元素复制到新数组中。
示例:
import scala.collection.mutable.ArrayBuffer
val arrBuffer: ArrayBuffer[Int] = ArrayBuffer(1, 2, 3, 4, 5)
arrBuffer += 6 // 添加一个元素
println(arrBuffer) // 输出ArrayBuffer(1, 2, 3, 4, 5, 6)
arrBuffer -= 3 // 删除一个元素
println(arrBuffer) // 输出ArrayBuffer(1, 2, 4, 5, 6)
Array和ArrayBuffer之间的选择取决于需求。如果需要一个固定长度的序列,可以使用Array;如果需要一个长度可变的序列,可以使用ArrayBuffer
原文地址: https://www.cveoy.top/t/topic/hWAQ 著作权归作者所有。请勿转载和采集!