Scala Map集合的简单使用

package com.miaoli.blogtest

import scala.collection.mutable

//scala中Map集合的简单使用
object TestMap {
  def main(args: Array[String]): Unit = {
    //创建一个空的map
    val emptyMap = new mutable.HashMap[String, Int]()
    println(emptyMap) //Map()

    //不可变Map
    val immutableMap = Map("hmm" -> 18, "lilei" -> 20)
    println(immutableMap)

    // immutableMap("hanmeimei")=30  Error 错错错!
    //(immutableMap)
    //Error:(15, 5) value update is not a member of scala.collection.immutable.Map[String,Int]
    //    immutableMap("hanmeimei")=30

    //创建可变的map
    val age = scala.collection.mutable.Map("hanmeimei" -> 18, "lilei" -> 20)
    println(age)
    //重新赋值
    age("hanmeimei") = 333
    age("lilei") = 555
    println(age)

    // 获取不存在的key会报异常 Exception in thread "main" java.util.NoSuchElementException: key not found: yxj
    //println(ages("lakesi"))
    // 可以使用contains方法
    val lks = if (age.contains("lks")) age("lks") else 0
    println(lks)
    //打印输出 0
    //更好的方式,使用函数:getOrElse
    val yb = age.getOrElse("ybmq", 1)
    println(yb) //打印输出 1

    //修改不可变map
    val map01 = immutableMap + ("ybmq" -> 23)
    println(map01)
    //打印Map(hmm -> 18, lilei -> 20, ybmq -> 23)
    val map02 = immutableMap + ("lilei" -> 10)
    println(map02) //打印Map(hmm -> 18, lilei -> 10)

    val map03 = immutableMap - "lilei"
    println(map03) //输出Map(hmm -> 18)

    //map的遍历,遍历所有的
    for ((key, value) <- age) {
      println(key + " :" + value)
    }
    for (res <- age) {
      println(res)
    }

    for (key <- age.values) {
      println("key=" + key)
    }
    //遍历value
    for (value <- age.keySet) {
      println("value=" + value)
    }

  }


}

 

你可能感兴趣的:(Scala Map集合的简单使用)