Scala的Map集合(涉及到元组)

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 -> 王五)
  }
}
posted @ 2022-03-06 16:11  阿伟宝座  阅读(137)  评论(0)    收藏  举报