1.构造映照
1.不可变映照
val sources = Map("Alice" -> 10,"Bob" ->3)
2.可变映照
val scores = new scala.collection.mutable.HashMap[String,int]
2.获得映照中的值
val bobs = scores("Bob") //类似java中的scores.get("Bob")
val bobsScore = scores.getOrElse("Bob",0)
3 更新映照中的值
scores("Bob") = 10 //更新键"Bob"对应的值
scores("Fred") = 7 //增加新的键
scores += ("Bob" -> 10, "Fred" -> 7) //添加多个关系
scores -= "Alice" //移除某个键和对应的值
var scores = .....; scores =scores +("Bob" -> 10, "Fed" ->7) //更新不可以变集合映照
4.迭代映照
1.
for((k,v) <- 映照)
2.
scores.keyset//类似java的keyset
scores.values //映照值得集合
3.
5.非哈希映照
val scores = scala.collections.immutable.Sortedmap("Alice" ->10,"Fred"_>7)
6. 与java的互操作
把Java的TreeMap转为Scala映照类型
val scores: scala.collection.mutable.Map[String,Int] = new java.util.TreeMap[String,Int]
将java.util.Properties 转到Map[String,String]
val props: scala.collection.Map[String,String] = System.getProprties()
7.元组
映照是键/值对偶的集合.对偶式元组的最简单形态-----元组是是不同类型的值的聚集.
1.元组通过将单个值包括在园括号中构成
(1,3.14,"Fred")
2.如果有1个元组, val t = {1,2,"ff"},可使用
val first = t._1 //将t元组中的第1个值赋给first,元组的组员是从1开始的2非0
3.对应不需要的组员可使用_,进行替换
val (first,scond, _) = t
元组可以用在函数需要返回不止1个值的情况,
8.拉链操作
val symbols = Array("<","-",">")
val counts = Arry(2,10,2)
val pairs = sysbols.zip(counts)
输出对偶数组
Array(("<",2),("-",10),(">",2))