其他分享
首页 > 其他分享> > 第5章 Scala基本数据结构---ArrayBuffer

第5章 Scala基本数据结构---ArrayBuffer

作者:互联网

本文来自艾叔编著的《零基础快速入门Scala》免费电子书,添加文末艾叔微信,获取完整版的PDF电子书

5.2  ArrayBuffer

Array的大小在声明时就已经固定了,后续是无法改变的。如果Array的大小需要变化(主要是增大),可以使用ArrayBuffer。

1. 声明ArrayBuffer

例子代码如下,首先引入ArrayBuffer所需的package。

scala> import scala.collection.mutable.ArrayBuffer

声明一个ArrayBuffer,[Int]表示此数组元素的类型为Int,数组元素的个数为0。

scala> val ab = new ArrayBuffer[Int]()

2. ArrayBuffer添加元素

给数组ab添加元素,使用+=添加元素。

scala> ab += 1

res1: ab.type = ArrayBuffer(1)

再添加一个元素。

scala> ab += 2

res3: ab.type = ArrayBuffer(1, 2)

再添加一个元素。

scala> ab += 3

res4: ab.type = ArrayBuffer(1, 2, 3)

添加多个元素。

scala> ab += (4,5,6)

res6: ab.type = ArrayBuffer(1, 2, 3, 4, 5, 6)

3. ArrayBuffer移除元素

使用remove方法,可以移除ArrayBuffer中的元素,remove中传入要移除的index,index从0开始编号。

移除第4个元素,index是3。

res6: ab.type = ArrayBuffer(1, 2, 3, 4, 5, 6)

scala> ab.remove(3)

res7: Int = 4

验证。

scala> ab.foreach(println)

1

2

3

5

6

4. ArrayBuffer插入元素

使用inset,可以从指定的index开始,插入若干元素,inset定义如下。

def insert(n: Int,elems: Int*): Unit

n表示插入的位置,用index来表示,elems表示插入的元素,类型是Int,*表示可以插入多个元素。

例如,从index=3开始,插入3个元素,每个元素的值都是6。

scala> ab.insert(3, 6, 6, 6)

验证,第一个6所在的位置index就是3。

scala> ab.foreach(println)

1

2

3

6

6

6

5

6

5. ArrayBuffer和Array互相转换

ArrayBuffer转Array。

scala> val numsArray = ab.toArray

numsArray: Array[Int] = Array(1, 2, 3, 6, 6, 6, 5, 6)

ArrayBuffer转Array。

scala> val numsBuffer = numsArray.toBuffer

numsBuffer: scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 3, 6, 6, 6, 5, 6)

6. 要注意的地方

加艾叔微信,加入Linux(Shell+Zabbix)、大数据(Spark+Hadoop)、云原生(Docker+Kubernetes)技术交流群

关注艾叔公众号,获取更多一手信息

标签:ab,scala,Int,ArrayBuffer,元素,Scala,---,Array
来源: https://blog.csdn.net/wenaideyu/article/details/120524920