标签:
Scala数组
定长数组
声明数组的基本格式:
val arr = new Array[T](N)
例:
val nums = new Array[Int](10)
val strs = new Array[String](10)
数组声明时若不给出值,会被初始化,初始化后同样能对数组成员进行赋值。
数组成员初始化,如Int类型的会都被初始化为0,String类型的会被初始化为null。
为数组直接赋值
基本格式:
val arr = Array( x1,x2,....xn);
例:
val s = Array(“Hello”,”World”)
访问数组元素
使用( ) ,而不是[ ] 来访问元素。
为数组元素赋值
s(1) = "Scala"
变长数组
使用变长数组需要引入包:
import scala.collection.mutable.ArrayBuffer
声明一个空的数组缓存,此时b是一个全为空的数组,数组长度为0。
val b = ArrayBuffer[Int]()
在数组尾部增加一个元素“1”。
b+=1
在数组尾部增加一系列元素“2,3”。
b+=(2,3)
将数组Array(5,8,13,21)中的元素增加在b数组尾部。
b++=Array(5,8,13,21)
移除最后3个元素
b.trimEnd(3)
在标记位为2的元素前插入元素。
b.insert(2,-2)
在标记位2的元素前插入一系列元素。
b.insert(2,-3,-5)
移除标记位为3的元素。
b.remove(3)
移出标记位为1及其之后的元素,共移除2个元素。
b.remove(1,2)
把变长数组转换为定长数组。
val c = b.toArray
把定长数组转换为变长数组
val d = c.toBuffer
遍历数组
按数组序号遍历。
for(i <- 0 until a.length) {
println(i+”:”+a(i))
}
直接遍历数组的成员(这是更好的做法)
for(i <- array) {
println(i)
}
通过遍历数组的下标获得成员
for(i <- 0 to(C.length-1) {
println(C(i))
}
每两个元素一条进行遍历
for(i <- 0 to (C.length,2) ) {
println(C(i))
}
倒序遍历
for(i <- (0 to C.length).reverse) {
println(C(i))
}
通过for语句枚举数组成员,可以实现多种数组控制,如把数组成员各加1并生成新数组:
val NEW=for(i <- C) yield i+1
这种数组生成是对应原数组类型的(定长/变长)
多维数组
val matrix = Array.ofDim[Double](3,4) //三行,四行
val triangle = new Array[Array[Int]](10)
for (i <- 0 until triangle.length)
定长数组与变长数组
对于Scala更鼓励使用定长数组。
标签:
原文地址:http://www.cnblogs.com/shijiaqi1066/p/4604771.html