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 = {//不可变Mapval map1 = Map("鄂"->"湖北省","湘"->"湖南省")//1.添加val map2 = map1+("豫"->"河南省")//如果key存在,就是修改
// val map3 = map1+("豫"->"河南省")//2.删除。只需要提供keyval 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 foreachfor((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 = {//可变Mapval 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 foreachfor ((key, value) <- map1) {println(s"$key 是 ${value}的简称")}
// map1.foreach { case (key, value) => {
// println(s"$key 是${value} 的简称}")
// }
// }println(map1)}}