Scala的Map集合(涉及到元组)
1、不可变Map
object Demo22Map {
def main(args: Array[String]): Unit = {
/**
* 不可变map
* "003" -> "王五" 构建二元组的简写
*/
//定义一个map集合()
//传入k-v格式,(k,v)、k->v
val map = Map(("001", "张三"), ("002", "李四"), "003" -> "王五")
println(map) //Map(001 -> 张三, 002 -> 李四, 003 -> 王五)
//通过key 获取value
println(map("003")) //王五
//如果keu存在,返回value;如果key不存在,返回后面的默认值
println(map.getOrElse("001", "默认值")) //张三
//Map集合的map方法,传给后面函数的参数是一个二元组,可以通过下标获取key和value
val values = map.map((kv: (String, String)) => kv._2)
println(values) //List(张三, 李四, 王五)
//获取key和value
println(map.keys) //Set(001, 002, 003)
println(map.values) //MapLike(张三, 李四, 王五)
//遍历Map
map.foreach(println)
//结果
(001,张三)
(002,李四)
(003,王五)
}
}
2、可变Map----HashMap
object Demo22Map {
def main(args: Array[String]): Unit = {
//创建一个可变的Map集合
val hashMap = new mutable.HashMap[String, String]()
//增加元素
hashMap.put("001", "张三")
hashMap.+=(("002", "李四"))
hashMap += "003" -> "王五"
println(hashMap) //Map(002 -> 李四, 001 -> 张三, 003 -> 王五)
//删除元素
hashMap.remove("001")
hashMap -= "002"
println(hashMap) //Map(003 -> 王五)
}
}