Map 有两种类型,可变与不可变,区别在于可变对象可以修改它,而不可变对象不可以。
默认情况下 Scala 使用不可变 Map。如果你需要使用可变集合,你需要显式的引入 import scala.collection.mutable.Map 类
在 Scala 中 你可以同时使用可变与不可变 Map,不可变的直接使用 Map,可变的使用 mutable.Map。
Map常用操作有增加,删除,修改,查询
不可变Map
添加:如果key存在,就是修改
删除。只需要提供key
查询 :get方法,输入key,如果找到,就返回包装数据,如果没有找到,就返回None
直接:map(key名)如果key不存在,就会报错
package Test
//类型:不可变,可变
//操作:添加元素,删除元素,查询元素,修改元素,遍历
object day3 {
def main(args: Array[String]): Unit = {
//不可变Map
val map1 = Map("鄂"->"湖北省","湘"->"湖南省")
//1.添加
val map2 = map1+("豫"->"河南省")
//如果key存在,就是修改
// val map3 = map1+("豫"->"河南省")
//2.删除。只需要提供key
val map3 = map1 - "鄂"
//3.查询
// //3.1 get方法,输入key,如果找到,就返回包装数据,如果没有找到,就返回None
//3.2 直接:map(key名)如果key不存在,就会报错
// val rs = map1.get("鄂" )
// println(rs.get)
// println(map1("鄂1"))
//4.修改元素:把青->青海,改成青 ->青海省
// map1("青") = "青海省"
val map4 = map1+("青"->"青海省")
//5.遍历
//5.1 for
//5.2 foreach
for((key,value)<- map1){
println(s"$key 是 ${value}的简称")
}
map1.foreach{case(key,value)=>{
println(s"$key 是${value} 的简称}")
}}
println(map1)
}
}
可变的情况
package Test
//导入Map包
import scala.collection.mutable
//类型:可变
object day4 {
def main(args: Array[String]): Unit = {
//可变Map
val map1 = mutable.Map("鄂"->"湖北省","湘"->"湖南省")
//1.添加
val map1 = ("豫" -> "河南省")
//2.删除。只需要提供key
// val map1 -="鄂"
//3.查询
// //3.1 get方法,输入key,如果找到,就返回包装数据,如果没有找到,就返回None
//3.2 直接:map(key名)如果key不存在,就会报错
// val rs = map1.get("鄂" )
// println(rs.get)
println(map1("鄂"))
//4.修改元素:把青->青海,改成青 ->青海省
map1("青") = "青海省"
//5.遍历
//5.1 for
//5.2 foreach
for ((key, value) <- map1) {
println(s"$key 是 ${value}的简称")
}
// map1.foreach { case (key, value) => {
// println(s"$key 是${value} 的简称}")
// }
// }
println(map1)
}
}