[关闭]
@amoszhou 2014-05-05T16:15:38.000000Z 字数 979 阅读 1546

数组的使用

scala 数组


1. 数组的类型

2. 数组的定义

2.1 定长数组

  1. val nums= new Array[Int](10) //长度为10的Int型数组,都初始化为null
  2. val color = Array("red","blue","green")//初始化值不需要new和类型,自动推断
  3. val red = color(0)//访问元素用下表,用()而不是[]

2.2 变长数组

  1. import scala.collection.mutable.ArrayBuffer
  2. val b = ArrayBuffer[Int]()//空的Int型
  3. b+=1 //向末尾添加单个元素
  4. b+=(2,3,4,5,6) //向末尾添加多个元素
  5. b++=Array(7,8,9) // 追加集合用++=
  6. b.trimEnd(2) //移除最后2个元素

2.3 相互转换

Array->ArrayBuffer : a.toBuffer
ArrayBuffer->Array : b.toArray

3.遍历

3.1 下标循环

  1. for(i <- 0 until a.length){
  2. println(a(i))
  3. }

3.2元素遍历

在我们不需要下标值的时候采用这种更简洁

  1. for(element <- a){
  2. println(element)
  3. }

4. 数组转换

对数组进行操作,得到新数组。

4.1 for...yield

  1. val a= Array(1,2,3,4,5,6,7,8,9)
  2. //result= Array(4,8,12,16)
  3. val result = for(elem <- a if elem %2 ==0) yield 2*elem

4.2 高阶函数filter,map

  1. val a = Array(1,2,3,4,5,6,7,8,9)
  2. val result = a.filter(_%2==0).map(2*_)

5. 常用的算法(函数)

6.多维数组

  1. val matrix = Array.ofDim[Double](3,4)//3行4列
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注