第四章 Scala常用数据结构_映射(map)
1:不可变的map
var map1=Map[String,Int]("zhaozhanlong" ->18,"wyx" -> 19)
for(i <- map1 ){
println(i)
//在scala中我们吧(zhaozhanlong,18)这样的键值对称作为对偶 ,对偶用()表示是元组的最简单的形式
}
var map1=Map[String,Int](("zhaozhanlong" ,18),"wyx" -> 19)
for(i <- map1 ){
println(i)
//在scala中我们吧(zhaozhanlong,18)这样的键值对称作为对偶 ,对偶用()表示
}
上面两种写法执行的值是一样的
//往map中添加元素
map1+="yjw"->10
map1+=("zha"->11)
for(i <- map1 ){
println(i)
}
2)。不可变map修改值
//修改map的值
// map1("zhaozhanlong")=20 因为是不可变的map 所以这样修改值是报错的 ,但是map的key是不能重复的我们可以利用这一点去修改值
map1+="zhaozhanlong"->20
for(i <- map1 ){
println(i)
}
3)。map取值
if(map1.contains("wyx")){//添加判断,判断key是否存在
println(map1("wyx"))
}
//取出所有的key和value
for((k,v) <-map1 ){
println(k+"_"+v)
}
//取出所有的key
var keymap= map1.keys
println(keymap)
//取出所有key的值
for(i <- keymap){
println(map1(i))
}
2:可变映射(map)
//可变映射(主要是看 能不能对里面的值更改) ,修改完值 ,key会变到map后面
var map2=scala.collection.mutable.Map[String,Int]("zzl"->19,"yjw"->20)
map2("zzl")=23
println(map2("zzl"))
for(i <- map2){
println(i)
}