Scala的Map映射

33 阅读2分钟

Map的定义

Map是一种存储键值对的数据结构,每个键在 Map 中是唯一的。在 Scala 中,我们可以使用多种方式创建 Map。

基本代码

/**
 * 42 → 湖北省
 * 14 → 山西省
 *
 * 鄂A → 武汉
 * 鄂N →潜江
 *
 * 键值对
 * key → value 结构
 *
 * map:用来表示键值对格式。映射。
 *
 */
object map01 {
  def main(args: Array[String]): Unit = {
    val map1=scala.collection.mutable.Map((42 -> "湖北省"),(14 -> "山西省"))
    println(map1)
  }
}

Map的可变与不可变基本代码

/**
 * 42 → 湖北省
 * 14 → 山西省
 *
 * 鄂A → 武汉
 * 鄂N →潜江
 *
 * 键值对
 * key → value 结构
 *
 * map:用来表示键值对格式。映射。
 *
 */
//在每一个scala的文件中,它都会自动导入一些包
import scala.collection.mutable.Map
//import scala.collection.immutable.Map

//默认情况下,不写入任何的导入语句和包名,Map是表示不可变的,它不能使用 += 的方式添加新的键值对!


object map01 {
  def main(args: Array[String]): Unit = {
    val map1=Map((42 -> "湖北省"),(14 -> "山西省"))

    //添加一个元素
    map1 += (19 -> "河南省")
    println(map1)
  }
}

Map的四个常见操作

常见操作:

  1. 添加键对值
  2. 删除
  3. 查询:根据key去找value
  4. 遍历

基本代码

/**
 * 常见操作:
 *    1. 添加键对值
 *    2. 删除
 *    3. 查询:根据key去找value
 *    4. 遍历
 *
 */
//在每一个scala的文件中,它都会自动导入一些包
import scala.collection.mutable
//import scala.collection.immutable.Map

//默认情况下,不写入任何的导入语句和包名,Map是表示不可变的,它不能使用 += 的方式添加新的键值对!


object map02 {
  def main(args: Array[String]): Unit = {
    //val map1=Map((42 -> "湖北省"),(14 -> "山西省"))
    val map1=mutable.Map((42 -> "湖北省"),(14 -> "山西省"))

    //1. 添加一个元素
    //val map2=map1 + (19 -> "河南省")
    map1 += (19 -> "河南省")
    println(map1)

    //2. 删除。根据key值来删除
    map1 -=42
    println(map1)

    //3. 查询。14对应的是哪个省?
    val ret=map1.get(14)  //如果找到了,就有值;没有找到就是None
    if(ret.isDefined){
      println(ret.get)
    }
    println(map1)

    //4. for 遍历
    for((key,value) <- map1){
      println(s"${value}身份证的前两位编号是${key}")
    }

  }
}