1.摘要
创建、查询和遍历映射都有十分易用的语法
要从可变和不可变的映射中选择
默认情况下得到的是一个哈希映射,不过可以指明要树形映射
可以再Scala映射和Java映射之间来回切换
元组可以用来聚集值
2.构造映射
映射是对偶的集合,即两个值构成的组
不变映射
val s = Map("A" -> 10, "b" -> 12, "c" -> 13) 一个不可变的Map[String,Int]
一个空的映射
val s = new scala.collection.mutale.HashMap[String,Int]
3.获取映射中的值
返回的是一个Option类
val b = s("b")
如果没有值就会抛出异常
val b = s.getOrElse("b",0) 没有值就返回0
4.更新映射中的值
s("b") = 23
若是可变的map 使用 s("d") = 98 增加新的对偶
s += ("b" -> 32,"c" -> 43)
移除 s -= “a”
5.迭代映射
for( ( k, v ) <- 映射)
s.keysSet 得到的是 set("a","b","v")的集合
for(v <- s.values) println(v) 输出的是map里面的value
for( ( k, v )<- 映射) yieid ( v , k ) 翻转映射
6.元组
元组下标从1开始
映射是键/值对偶集合,对偶是元组的最简单形态 , 元组是不同类型的值得聚集
如 val t =(1,2.1, "haha") Tuple3[Int,Double,Java.lang,String]
用 ._1 ._2来访问元组
val second = t._1
使用匹配模式来获取元组的组元 val (first,second,thrid) = t
7.拉链操作
把多个值绑在一起,一起处理,用zip方法完成
val sys = Array("<","-",">")
val counts = Array(2,10,2)
var pairs = sys.zip(counts)得到 Array(("<",2), ("-",10),(">",2))