/**
* ArrayBuffer(可变长数组,类似于Java中的StringBuffer)
*/
object ArrayBufferDemo {
def main(args: Array[String]): Unit = {
// 如果不想每次都使用全限定名,则可以预先导入ArrayBuffer类
import scala.collection.mutable.ArrayBuffer
// 可变数组的创建
val arrBuffer = new ArrayBuffer[Int]()
// 向可变的数组中加入元素
arrBuffer += 2
arrBuffer += 8
// 通过下标修改元素
arrBuffer(0) = 6
// 可以向数组中添加多个元素,比如list或不可变数组
arrBuffer ++= Array(3, 9)
// 在实际开发中,如果对可变数组的数据进行操作,建议将可变数组转换为不可变数组
val arr = arrBuffer.toArray
arr.foreach(println(_))
// 将数组元素合为一个字符串,指定各个元素之间的分隔符
println(arr.mkString(", "))
// 第一个参数为开始符号,第二个为分隔符,第三个为结束符
println(arr.mkString("< ", ", ", " >"))
// 数组元素求和
println(s"arr sum is :${arr.sum}")
// 获取数组最大值
println(s"arr max is :${arr.max}")
// 通过 def update(i: Int, x: T) { throw new Error() }修改下标为i的值
arr.update(2, 6)
println(arr.mkString(", "))
}
}
运行结果为:
6
8
3
9
6, 8, 3, 9
< 6, 8, 3, 9 >
arr sum is :26
arr max is :9
6, 8, 6, 9
Process finished with exit code 0