Map映射

30 阅读1分钟
object class28 {
  def main(args: Array[String]): Unit = {
    // 初始化可变Map,重复键"bob"保留最后一个值100
    val map1 = scala.collection.mutable.Map(("alice" -> 90), ("bob" -> 80), ("bob" -> 100))

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

    // 2. 删除元素(修正拼写错误:"b0b"改为"bob")
    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)
  }
}
object class29 {
  def main(args: Array[String]): Unit = {
    // 初始化可变Map,重复键"bob"保留值100
    val map1 = scala.collection.mutable.Map(("alice" -> 90), ("bob" -> 80), ("bob" -> 100))

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

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

    // 3. 查询"alice"
    val key = "alice"
    val ret = map1.get(key)
    if (ret.isDefined) { // 补充大括号
      println(s"$key 对应的值是:${ret.get}")
    } else {
      println(s"$key 不存在")
    }

    // 4. 遍历所有元素(两种方式)
    println("\n方式1:for循环遍历")
    for ((a, b) <- map1) { // 补充大括号
      println(s"$a, $b")
    }

    println("\n方式2:foreach遍历")
    map1.foreach { // 修正case格式
      case (key, value) => println(s"$key, $value")
    }
  }
}

执行结果说明

  • 初始化后,map1包含alice->90、bob->100
  • 添加juddy->90后,map1包含alice->90、bob->100、juddy->90
  • 删除bob后,map1剩余alice->90、juddy->90
  • 查询alice会输出alice 对应的值是:90
  • 遍历会输出alice, 90juddy, 90