Map映射

23 阅读1分钟

Map的定义和创建

Map 创建格式:

1.不可变 Map:val mapName: Map[KeyType, ValueType] = Map(key1 -> value1, key2 -> value2,...)

2.可变 Map(需导入scala.collection.mutable.Map):val mapName:

mutable.Map[KeyType, ValueType] = mutable.Map(key1 -> value2,...)

/*
*Map:映射
* 键值对,键不能有相同的。
* (key,value)
 */

object map01 {
  def main(args: Array[String]): Unit = {
    val map1=Map(("alice"->90),("bob"->80),("bob"->100))
    //bob这个键有重复,只保留一个
    println(map1)
  }
}

Map的添加、删除、查询

/*
*Map:映射
* 键值对,键不能有相同的。
* (key,value)
*
* 常见操作
* 1.添加
* 2.删除
* 3.查询元素
 */

object map01 {
  def main(args: Array[String]): Unit = {
    val map1=scala.collection.mutable.Map(("alice"->90),("bob"->80),("bob"->100))
    //bob这个键有重复,只保留一个

    //1.添加
    map1+=("juddy"->90)

    //2.删除
    map1-="bob"

    //3.查询元素
    val key="alice"
    val ret=map1.get(key)
    if(ret.isDefined){
      println(s"${key}对于的值是:${ret.get}")
    }else{
      println(s"${key}不存在")
    }
    println(ret)
  }
}

Map的遍历(循环)

使用 for 循环遍历 Map 的格式

/*
*Map:映射
* 键值对,键不能有相同的。
* (key,value)
*
* 常见操作
* 1.添加
* 2.删除
* 3.查询元素
* 4.for循环输出所有
 */

object map02 {
  def main(args: Array[String]): Unit = {
    val map1=scala.collection.mutable.Map(("alice"->90),("bob"->80),("bob"->100))
    //bob这个键有重复,只保留一个

    //1.添加
    map1+=("juddy"->90)

    //2.删除
    map1-="bob"

    //3.查询元素
    val key="alice"
    val ret=map1.get(key)
    if(ret.isDefined){
      println(s"${key}对于的值是:${ret.get}")
    }else{
      println(s"${key}不存在")
    }
    //4.for循环输出所有
    for((a,b)<-map1){
      println(s"${a},${b}")
    }

    map1.foreach({
      case(key,value)=>{
        println(s"${key},${value}")
      }
    })
    
  }
}