map创建
不可变map:
val score = Map("zhangsan"->90,"lisi"->80)
可变map:
(1)import scala.collection.mutable.Map
scala> val score = Map("zhangsan"->90,"lisi"->80)
score: scala.collection.mutable.Map[String,Int] = Map(lisi -> 80, zhangsan -> 90)
(2) val score = scala.collection.mutable.Map("lisi"->100)
score: scala.collection.mutable.Map[String,Int] = Map(lisi -> 100)
取值:(1)score("lisi")
res29: Int = 100
如果没有会出现异常,所以做一个判断
(2) if(score.contains("lisi")) score("lisi") else -1
res31: Int = 100
(3)score.getOrElse("lisi",-2)
res33: Int = 100
三种取值方法
查看键和值:
scala> score.keys
res34: Iterable[String] = Set(lisi)
scala> score.values
res35: Iterable[Int] = HashMap(100)
修改值
score("lisi") = 40
score("wangwu") = 100
假如没有,会新加入一个键和值
scala> score
res39: scala.collection.mutable.Map[String,Int] = Map(lisi -> 40, wangwu -> 100)
增加值
score += ("wangsan"->29)
res41: score.type = Map(lisi -> 40, wangsan -> 29, wangwu -> 100)
删除
scala> score -="wangsan"
res42: score.type = Map(lisi -> 40, wangwu -> 100)
遍历map
for((k,v) <- score) println(k+":"+v)
lisi:40
wangwu:100
网友评论