package com.wyh.day01 object ScalaMap { def main(args: Array[String]): Unit = { /** * 不可变Map * */ //创建不可变集合,两种写法 var map1 = Map((1604093026, "王友虎"), 1604093029 -> "赵以浩") //通过key获取到Option var res1 = map1.get(1604093026) //通过get获取到具体的值 println(res1.get) //获取key对应的value值,如果没有,返回指定的默认值 println(map1.getOrElse(16044, "默认值")) println(map1.getOrElse(1604093029, "默认值")) //获取不存在的key返回None println(map1.get(123456)) println("=" * 100) //遍历Map for (elem <- map1) { var key = elem._1 var value = elem._2 println(key + " " + value) } println("=" * 100) //添加元素,可以同时添加多个元素,返回一个新的Map val map2 = map1 + ((1604093002, "小李"), 16044 -> "xiaoxiao") for (elem <- map2) { var key = elem._1 var value = elem._2 println(key + " " + value) } /** * * 可变Map */ import scala.collection.mutable var map4 = mutable.Map(("品牌", "小米"), "型号" -> "小米6") val value = map4("品牌") println(value) println("=" * 100) var map5 = mutable.Map[String, Int]() //往其中添加元素 map5.put("学生1", 12138) map5.put("学生2", 15478) map5.put("学生3", 11438) map5.put("学生4", 17138) val i = map5.getOrElse("xue", 1) println(i) for (elem <- map5) { var key = elem._1 var value = elem._2 println(key + " " + value) } val values = map5.values for (elem <- values) { println(elem) } } }