scala中的Map映射

24 阅读2分钟

Map 的定义和创建

Map是一种存储键值对的数据结构,每个键在 Map 中是唯一的。在 Scala中,我们可以使用多种方式创建 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,...)

package map
/*
01--->胡同学
02--->王同学


42→湖北省
14→山西省

鄂A→武汉
鄂N→潜江

键值对
key → value结构

map:用来表示键值对结构
 */
object map1 {
  def main(args: Array[String]): Unit = {
    val map1=scala.collection.mutable.Map((42->"湖北省"),(14->"山西省"))
    println(map1)
  }
}
    ![image.png](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/86b5f5233680469a9e7359d4073c3d7c~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg6Iqx5byA5a-M6LS1MTIz:q75.awebp?rk3s=f64ab15b&x-expires=1771710800&x-signature=1Otge3lTK0mGsXC%2BYbIKZ7aQwPA%3D)
    
package map
/*
01--->胡同学
02--->王同学


42→湖北省
14→山西省

鄂A→武汉
鄂N→潜江

键值对
key → value结构

map:用来表示键值对结构
*/
//在每一个scala文件中,他都会自动导入一些包
import scala.collection.mutable.Map
//import scala.collection.immutable.Map


//默认情况下,不写任何的导入预计和包名,Map是表示不可变的,他不能使用+=的方式添加新的键值对
object map1 {
def main(args: Array[String]): Unit = {
  val map1=Map((42->"湖北省"),(14->"山西省"))
  //添加一个元素
  map1+=(19->"河南省")
  println(map1)
}
}

![image.png](p0-xtjj-private.juejin.cn/tos-cn-i-73…

**Map 的常用方法

1.添加键值对

2.删除

3.查询

4.遍历

package map

/*
01--->胡同学
02--->王同学


42→湖北省
14→山西省

鄂A→武汉
鄂N→潜江

键值对
key → value结构
02
map:用来表示键值对结构


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


//默认情况下,不写任何的导入预计和包名,Map是表示不可变的,他不能使用+=的方式添加新的键值对
object map2 {
  def main(args: Array[String]): Unit = {
    val map1=Map((42->"湖北省"),(14->"山西省"))
    //2.添加一个元素
    map1+=(19->"河南省")
    println(map1)

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

    //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}")
    }
  }
}

image.png