类型 | 说明 | 默认定义 | 获取 | 导包,不定长 | 运算 | 遍历 |
1、 数组 Array | 一组相同类型的值 | val a=new Array[Int](10) valb=Array("h","s") | a(0) : Int = 0 | scala.collection.mutable.ArrayBuffer val c=ArrayBuffer[Int]() c += "flume" c++= Array("hi", "12") c -= "h" c --= Array("h", "s") | array.sum/max/min array.sorted array.reverse array.apply/filter/foreach map/flatMap | for(i <- a) println(i)
for(i <- 0 until a.length) println(a(i)) |
2、 元组 () | 一组不同类型的值 | val a = (1, "张三", 20, "北京市") val b = 1->2 | a._1 : Int = 1 | 无 | a.equals a.toString a.copy a.hashCod ...
| 无 |
3、 映射 Map | 键值对组成的集合 | val m1 = Map("z"->30, "li"->40) val m2 = Map(("z", 30), ("li", 30)) | m1("z") : Int = 30 m1.keys m1.keySet m1.values | scala.collection.mutable.Map val m3 = Map("h"->30, "si"->40) 重新赋值: m3("h")=50 不存在,则返回-1 m3.getOrElse("w", -1) 添加:m3+=("wu" ->35) 删除:map -="wangwu" | map.apply map.filter map.flatMap map.foreach map.groupBy ... | for((k,v) <- m1) for(k <- m1.keys |
4、 集合 Set | 没有重复元素
不保证顺序
| val a=Set(1,1,2,3) | a(1):是否有1 a + 6 a ++ Set(6,7,8)增删改 不改原集合 生成新集合
| scala.collection.mutable.Set val a1=Set(1,2,3,4,5)
a1+=6 a1 +=(4,5,6) a1 ++=Set(1,2,3) a1.remove(1)
集合的交集 a & Set(3,4,5,6) | a.size 同上 | for(i <- a) |
5、 列表 List
| 可重复 有顺序 | val l1=List(1,2,3) 空列表 val l2=Nil val list3=1::2::Nil | l1(0) l1.head 除第一的其他 l1.tail
| scala.collection.mutable.ListBuffer 空可变列表val a=ListBuffer[Int]() val b=ListBuffer(1,2,3,4) b += 5 b ++=List(6,7) b ++=ListBuffer(8,9) 可变列表转为不可变列表 b.toList 可变列表转为不可变数组 b.toArray
| 同上 | for (i <- a) |