Scala学习笔记——Collections 之 ArrayBuffer

179 阅读1分钟

Collections

ArrayBuffer

ArrayBuffer(动态数组) 是mutable 类型,可动态变化其内容。

常用操作

//import relative pakage
import sacla.collection.mutable.ArrayBuffer

//声明AarryBuffer
val intName = ArrayBuffer[Int]()

// 给ArrayBuffer 增加元素

intName += 1     // intName.type = ArrayBuffer(1)

intName -= 1     // intName.type = ArrayBuffer()

intName ++= List(7,8,9) // intName.type = ArrayBuffer(7,8,9)

nums --= Array(7,9)  // intName.type = ArrayBuffer(8)

// 声明同时初始化值

val arr = ArrayBuffer(1,2)

//

同样也有类似java or python 的类方法

// 初始化
val nums = ArrayBuffer(1,2,3,4,5)
val nums = ArrayBuffer.range(1,6)
//追加操作append
nums.append(6,7) // nums.type = ArrayBuffer(1,2,3,4,5,6,7)

nums.append(Seq(8,9)) // nums.type = ArrayBuffer(1,2,3,4,5,6,7,8,9) 
插入insert or 前插prepend
val nums = ArrayBuffer(7, 11)

nums.insert(1,8) // nums.type = ArrayBuffer(7,8,11) 

nums.insertAll(2, Vector(9,10)) // nums.type = ArrayBuffer(7,8,9,10,11) 

nums.prepend(5,6) // nums.type = ArrayBuffer(5,6,7,8,9,10,11) 

nums.prependAll(Array(1,2,3,4)) // nums.type = ArrayBuffer(1,2,3,4,5,6,7,8,9,10,11) 
删除操作remove 和 trimStart、trimSEnd
val str = ArrayBuffer.range('a', 'j')// ArrayBuffer('a', 'b','c','d','e','f','g','h','i')
//删除下标为0和2位置的元素
nums.remove(0,2) // ArrayBuffer('b','d','e','f','g','h','i')
//删除前两位的元素
nums.trimStart(2) // ArrayBuffer('e','f','g','h','i')
//删除后两位的元素
nums.trimEnd(2) // ArrayBuffer('e','f','g')