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))