Map的分类
一、可变Map
- 可变Map:直接可以更改原位置的元素不用返回新的值
- 不可变Map:不可直接对原位置的元素进行更改 会返回一个新的值(需定义 VAL 值名)
第一步:创建可变Map
val map1:mutable.Map[String,Int]=mutable.Map("a"->13,"b"->25,"hello"->3)
println(map1)
map1.put("c",5)
第二步:删除元素
map1.remove("c")//只需要提供key值就行
map1 -= "d"//提供key值 把key和value一起删除
第三步:修改元素
map1.update("c",5)
map1 += (("e",7))
println(map1)
第四步:合并两个Map
val map2: mutable.Map[String,Int]=mutable.Map("aaa"->11,"b"->25,"hello"->5)
val map3= map1 ++ map2
println(map3)
//map1 ++=map2
}
}
第五步:可变Map代码+代码图如下
def main(args: Array[String]): Unit = {
//可变map
val map1:mutable.Map[String,Int]=mutable.Map("a"->13,"b"->25,"hello"->3)
println(map1)
map1.put("c",5)
//3.删除元素
map1.remove("c")//只需要提供key值就行
map1 -= "d"//提供key值 把key和value一起删除
//修改元素
map1.update("c",5)
map1 += (("e",7))
println(map1)
//5.合并两个Map
val map2: mutable.Map[String,Int]=mutable.Map("aaa"->11,"b"->25,"hello"->5)
val map3= map1 ++ map2
println(map3)
//map1 ++=map2
}
}
二、不可变Map
- 不可变Map 1.创建不可变集合Map 2.循环打印 3.访问数据 4.如果key不存在,返回0
第一步:创建Map
val map1:Map[String,Int]=Map("a"->13,"b" ->25,"hello"->3)
println(map1)
##第二步:遍历元素
map1.foreach(println)
- 得到Key的值
for (key <- map1.keys){
println(s"$key---->${map1.get(key).get}")
}
第二步:访问元素
- 4.访问某一个key的value
println(map1.get("a"))//如果不想得到那个返回值some(keys)那么就在得到的key后面.get
println(map1.get("b").get)//这种做法不是特别的安全
println(map1.getOrElse("hello",0))//返回第一个值
- //不可变的集合不可put 增加元素
}
}
第三步:不可变Map代码+代码图如下
//存储的内容也是键值对
//不可变Map 1.创建不可变集合Map 2.循环打印 3.访问数据 4.如果key不存在,返回0
val map1:Map[String,Int]=Map("a"->13,"b" ->25,"hello"->3)
println(map1)
//2.遍历元素
map1.foreach(println)
//得到Key的值
for (key <- map1.keys){
println(s"$key---->${map1.get(key).get}")
}
//4.访问某一个key的value
println(map1.get("a"))//如果不想得到那个返回值some(keys)那么就在得到的key后面.get
println(map1.get("b").get)//这种做法不是特别的安全
println(map1.getOrElse("hello",0))//返回第一个值
//不可变的集合不可put 增加元素
}
}