val b = new ArrayBuffer[Int]() //或者 new ArrayBuffer[Int]
b += 1 //ArrayBuffer(1) 用+= 在尾端添加元素
b += (1,2,3,5) //ArrayBuffer(1,1,2,3,5) 在尾端添加多个元素
b ++= Array(1,2,3) //ArrayBuffer(1,1,2,3,5,1,2,3) 在尾端追加集合 用++=
b.trimEnd(5) //ArrayBuffer(1,1,2) 移除最后5个元素
b.insert(2,6) //ArrayBuffer(1,1,6,2) 在下标2之前插入
b.insert(2,7,8,9) //ArrayBuffer(1,1,7,8,9,6,2) 在下标2之前插入多个元素
b.remove(2) //ArrayBuffer(1,1,8,9,6,2)
b.remove(2,3) //ArrayBuffer(1,1,2) 第二个参数的含义是要移除多少个元素
/*
*移除数组除除第一个负数之外的所有负数
*/
var list = ArrayBuffer(1,3,-3,-5,-7,3,2)
var first = true
//收集元素为负数的下标
val indexs = for( i <- 0 until list.length if first || list(i) >= 0) yield {
if(list(i) < 0) first = false
i
}
//把为正数的元素移到到该去的位置,并且截断
for(j <- 0 until indexs.length) list(j) = list(indexs(j))
list.trimEnd(list.length - indexs.length) //只有ArrayBuffer才可以用trimEnd
sorted方法将数组或者数组缓冲排序并返回经过排序的数组或数组缓冲,该方法不会修改原始数组
val a = ArrayBuffer(1,7,2,9)
val aSorted = a.sorted<span style="white-space:pre"> </span>//a并没有改变
多维数组
val matrx = Array.ofDim[Double](3,4) //三行,四列
可以创建不规则的数组
val triangle = new Array[Array[Int]](10)
for(i <- 0 until triangle.length)
triangle(i) = new Array[Int](i + 1)