scala Map类型笔记

   //构造不可变的map
    val smap = Map("rocky" -> 27,"rocky1" -> 30)
    //smap += ("zhangsan" -> 88)  // 不可变)

    //构造可变map
     val user =scala.collection.mutable.Map("rocky" -> 27,"rocky1" -> 30)
     println(user)

     val m = scala.collection.mutable.Map[String,Int]()
     //取值
     println("rocky=" + user("rocky"))
     println("rocky1=" + user("rocky1"))

     //getOrElse  建议使用这个
     println("rocky1=" + user.getOrElse("rocky",0))
     println("rocky1=" + user.getOrElse("rockyaa",0))

     //添加新的键值对 +=
      user += ("pangzhw" -> 20)
      println(user)

      //添加多个键值对 +=
      user += ("zhangsan" -> 21,"lisi" -> 22)
      println(user)

     //更新键值对
      user("pangzhw") = 25
      println("更新键值对测试:" +user)

      //更新多个键值对
      user += ("pangzhw" -> 30, "lisi" -> 50)
      println("更新键值对测试:" +user)

      //查看所有keys
      //方法一:keys
      println("keys=" +user.keys)

      //方法二:keySet
      println("keys=" +user.keySet)

      println("--------------------------------------")
      //遍历map 
      //方法一:模式匹配
      for((x,y) <- user) println("userName=" + x+" ,age=" +y)
      println("--------------------------------------")
      //方法二:通过key值
      for(k <- user.keySet) println("userName=" + k +" ,age=" +user(k))

      println("--------------------------------------")
       //方法三:foreach
      user.foreach{case (m,n) => println("userName=" + m+" ,age=" +n)}

你可能感兴趣的:(scala)