文章目录
数组
定长数组
Scala数组的声明,若数组长度固定,则使用
Array
;若数组长度可能有变化,则使用
ArrayBuffer
。
定长数组声明的语法格式为:
var z:Array[String]=new Array[String](3)var z =new Array[String](3)val str =new Array{"Hello","World"}
其中,
z
声明一个字符串类型的数组,数组长度为3,可存储3个元素。我们可以为每个元素设置值,并通过索引来访问每个元素,如下所示:
z(0)="Bing"; z(1)="Google"; z(4/2)="Baidu"
最后一个元素的索引使用了表达式
4/2
作为索引,类似于
z(2) = "Google"
。我们也可以使用以下方式来定义一个数组:
var z = Array("Bing","Google","Baidu")
访问数组
我们访问数组
s
的第一个值,并将其改为
Hi
s(0)="Hi"
变长数组:数组缓冲
对于长度需要变化的数组,Scala中使用的数据结构为
ArrayBuffer
。
声明一个空的变长数组,用于存放整数。其中用
+=
来在数组尾部添加元素,若添加多个元素,则需要用
()
括起,可以用
++=
操作符追加任意集合,或者使用函数对数组进行操作。
在以下代码中
a.trimEnd(5)
代表移除了数组的最后五个元素;
a.insert(2,"6")
代表在下标2的元素之前插入元素
6
,也可以插入任意多的元素,插入的元素从第二个参数开始编写即可;
a.remove(2,3)
代表在下标
2
的元素之前移除
3
个元素。
importscala.collection.mutable.ArrayBuffer
val a = ArrayBuffer[Int]()
a +=6
println(a)
a +=("1","2","3","4","5")
println(a)
a ++= ArrayBuffer("8","13","21")
println(a)
a.trimEnd(5)
println(a)
a.insert(2,"6")
println(a)
a.remove(2,3)
println(a)
数组转换
在不确定元素个数时构建数组
b
时,需要先构建一个变长数组,然后调用
a.toArray
;反过来,调用
a.toBuffer
可以将一个数组转换成一个变长数组。
多维数组
多维数组一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。矩阵与表格是我们常见的二维数组。二维数组定义为:
var arr = ofDim[Int](3,3)
版权归原作者 码上行舟 所有, 如有侵权,请联系我们删除。