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可变变量的特殊类。