版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处! https://blog.csdn.net/WenWu_Both/article/details/78040553
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 // 只返回部分