Scala中的ArrayBuffer(创建可变数组)
Scala中的ArrayBuffer
在Scala中,数组是不可变的,并且包含同质元素,即数组的大小不能更改,并且数组的所有元素都包含相同的元素。
ArrayBuffer是一个特殊的类,用于创建可变数组。
要使用ArrayBuffer,我们将导入
scala.collection.mutable.ArrayBuffer
语法:
在Scala中创建ArrayBuffer的语法,
var arrayBuffer = ArrayBuffer("element1", "element2", ...)程序创建一个ArrayBuffer
import scala.collection.mutable.ArrayBuffer
object MyClass {
def main(args: Array[String]) {
println("我的自行车是 ")
val bikes = ArrayBuffer("ThunderBird 350", "YRF R3")
for(i <- 0 to bikes.length-1)
println(bikes(i))
//添加一个字符串
bikes += "iron 883"
println("After adding new bike to my collection")
for(i <- 0 to bikes.length-1)
println(bikes(i))
}
}输出结果
我的自行车是 ThunderBird 350 YRF R3 After adding new bike to my collection ThunderBird 350 YRF R3 iron 883
您可以使用+=运算符并使用方法将新element(s)的添加到ArrayBuffer中append()。
向ArrayBuffer添加新元素
import scala.collection.mutable.ArrayBuffer
object MyClass {
def main(args: Array[String]) {
println("我的自行车是 ")
val bikes = ArrayBuffer[String]()
bikes += "ThunderBird 350"
bikes += ("YRF R3", "Iron 883")
bikes.append("BMW S1000 RR")
for(i <- 0 to bikes.length-1)
println(bikes(i))
}
}输出结果
我的自行车是 ThunderBird 350 YRF R3 Iron 883 BMW S1000 RR
删除数组元素
您还可以使用-=运算符和ArrayBuffer删除ArrayBuffer的元素。remove()方法。
语法:
使用-=运算符删除一个元素
ArrayBuffer -= (arrayElement)
使用-=运算符删除多个元素
ArrayBuffer -= (arrayElement1, arrayElement2, ...)
使用remove方法删除元素
ArrayBuffer -= (arrayElementposition)
删除ArrayBuffer元素的程序
import scala.collection.mutable.ArrayBuffer
object MyClass {
def main(args: Array[String]) {
val bikes = ArrayBuffer("ThunderBird 350", "YRF R3", "Iron 883", "BMW S1000 RR", "BMW GSA")
println("我的自行车是 ")
for(i <- 0 to bikes.length-1)
println(bikes(i))
println("移除元素...")
bikes -= "YRF R3"
bikes -= ("Iron 883", "BMW GSA")
bikes.remove(1)
for(i <- 0 to bikes.length-1)
println(bikes(i))
}
}输出结果
我的自行车是 ThunderBird 350 YRF R3 Iron 883 BMW S1000 RR BMW GSA 移除元素... ThunderBird 350
这些是对ArrayBuffer的一些操作,这是一个创建Array可变变量的特殊类。