1. 程式人生 > >Scala 對映和元組

Scala 對映和元組

1. 構建對映

val scores = Map("Alice" ->10, "Bob" -> 3, "Clindy" ->8)

上述程式碼構建的Map,其值不能被改變,構建可變對映,則用:

val scores = scala.collection.mutable.Map"Alice" ->10, "Bob" -> 3, "Clindy" ->8)

也可用以下方式定義對映:

var scores = Map(("Alice", 10), ("Bob", 3), ("Cindy", 8))

2.獲取對映中的值

val bobsScore = scores("Bob"
) // 類似於Java中的scores.get("Bob") // 檢查對映中是否包含某鍵值,可用contions方法 scores.contions("Bob") // return True val bobsScore = scores.getOrElse("Bob", 0) // 如果對映包含鍵"Bob",返回對應的值;否則,返回0

3.更新對映中的值

scores("Bob") = 10 // scores必須為可變對映
scores("Fred") = 7 //增加新的鍵並賦值

// 可用+=操作來新增多個關係(不可變對映也可以)
scores += ("Bob" -> 10, "Fred" -> 
7) // 移除某個鍵,可用-= score -= "Alice" // 雖然不能更新不可變對映,但可是新建不可變對映的方法實現更新(曲線救國) var newScores = scores + ("Bob" -> 10, "Fred" -> 7) // 更新過的新對映 // newScores對映包含了與scores相同的對映關係,此外"Bob"被更新,"Fred"被新增進來

除了把結果作為新值儲存外,也可以直接更新var變數:

var scores = ...
scores = scores + ("Bob" -> 10, "Fred" -> 7)

4.迭代對映

for
((key, value) <- Map) // 獲取對映鍵集合 scores.keySet // 獲取對映值,return Iterable scores.values

5.元組

對映是鍵/值對偶的集合。對偶是元組(tuple)的最簡單形態——元組是不同型別的值的聚集。

val t = (1, 3.14, "Fred")
// 可以用_1,_2,_3訪問其組元
val second = t._2 // 將second設為3.14,其中t._2也可寫為t _2(.替換為空格)

val (first, second, third) = t // 將first設為1,second設為3.14,third設為"Fred"

val (first, second, _) = t  // 只返回部分