Map的定义
Map是一种存储键值对的数据结构,每个键在 Map 中是唯一的。在 Scala 中,我们可以使用多种方式创建 Map。
object map01 {
def main(args: Array[String]): Unit = {
val map1 = scala.collection.mutable.Map((42 -> "湖北省"),(14 -> "山西省"))
println(map1) // HashMap(42 -> 湖北省, 14 -> 山西省)
}
}
Map的创建
在每一个scala文件中,它都会自动导入一些包。默认情况下,不写任何的导入语句和包名,默认下的Map是表示不可变的,不能使用 += 的方式添加新的键值对。
Map有两种类型:
1.不可变 Map:import scala.collection.immutable.Map
2.可变 Map:需导入import scala.collection.mutable.Map
import scala.collection.mutable // 导入
// import scala.collection.immutable.Map 默认
object map01 {
def main(args: Array[String]): Unit = {
val map1 = mutable.Map((42 -> "湖北省"),(14 -> "山西省"))
// 添加一个元素
map1 += (19 -> "河南省")
println(map1) // HashMap(42 -> 湖北省, 19 -> 河南省, 14 -> 山西省)
}
}
Map的常见操作
/*
* 常见操作
* 1.添加键值对
* 2.删除:根据key值来删除
* 3.查询:根据key去找value
* 4.遍历
* */
import scala.collection.mutable
// import scala.collection.immutable.Map
// 默认情况下,不写任何的导入语句和包名,默认下的Map是表示不可变的,不能使用 += 的方式添加新的键值对
object map02 {
def main(args: Array[String]): Unit = {
val map1 = mutable.Map((42 -> "湖北省"),(14 -> "山西省"))
// 1.不可变Map添加一个元素
val map2 = map1 + (19 -> "河南省")
println(map2)
// 1.可变Map添加一个元素
map1 += (19 -> "河南省")
// 2.可变Map删除:根据key值来删除
map1 -= 42
// 3.查询:根据key去找value
// 例:14对应哪个省?
val ret = map1.get(14) // 如果找到了就有值,没有找到就是None
if(ret.isDefined){
println(ret.get)
}
// 4.for遍历
for ((key,value) <- map1){
println(s"${value}身份证的前两位编号是${key}") // 河南省身份证的前两位编号是19
}
}
}
操作4运行结果如图: