Scala:(3)数组

要点:

(1)长度固定使用Array,长度变化的则使用ArrayBuffer.

(2)提供初始值时,不使用new。

(3)用()访问元素

val a= new Array[String](10)//初始化所有疏远为null
val s= Array("Hello","World")//用初始值初始化

val b=ArrayBuffer[Int]()//一个空的数组缓冲
b+=1//在尾端添加元素1

b +=(1,2,3,5) 
b ++=Array(8,13,21)//用++=操作符追加任何集合
b.trimEnd(5)//移除最后5个元素

(4)用for(elem <- arr)来遍历元素

(5)用for(elem <- arr if...)...yield .. 来将原数组转型为新数组

val result = for(elem <- a if elem %2 ==0)yield 2*elem

(6)Scala数组和Java数组可以互操作。用ArrayBuffer,使用scala.collection.JavaConversions中的转换函数

(7)多维数组

val matrix=Array.ofDim[Double](3,4)//三行,四列
//访问其中的元素,使用两对圆括号
matrix(row)(column)=42

//创建不规则的数组,每一行的长度各不相同
val triangle = new Array[Array[Int]](10)
for(i <- 0 until triangle.length)
    triangle(i) = new Array[Int](i +1)
原文地址:https://www.cnblogs.com/arbitrary/p/4856006.html