Map

20 阅读1分钟

1.Map的定义和创建;2.添加元素;3.查询元素;4.删除元素;5.遍历。

package jue.lan

/*
 * Map: 映射
 * 键值对, 键不能有相同的!
 * (key,value)
 *
 * 鄂 → 湖北省
 * 湘 → 湖南省
 * 赣 → 江西省
 *
 * 01 → xxx
 * 02 → yyy
 *
 */
object set04 {
  def main(args: Array[String]): Unit = {
    val map1 = Map(("alice" -> 90), ("bob" -> 80), ("bob" -> 100))
    // bob这个键有重复, 只保留一个
    println(map1)
  }
}

Map常用操作-添加-删除-查询元素

package jue.lan
object set05 {
  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的遍历

package jue.lan

object set06 {
  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}")
      }
    })
  }
}