scala map

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容