您的位置:首页 > 其它

scala学习笔记-Map

2016-08-29 16:42 405 查看
scala中的映射对于java中的map,也是键值对形式,键不可重复,但是在get方式时有区别,当get不存在的键会抛出异常。代码示例如下:


object MapDemo extends App{
//构造一个不可变的映射
var map1 = Map("name"->"zhangSan","age"->14)
var map2 = Map(("name","zhangSan"),("age",14))
//构造一个可变的映射
var map3 = scala.collection.mutable.Map(("name","zhangSan"),("name2","zhangSan"),("age",14))
//如果是一个空的映射,需要给类型
val map4 = new scala.collection.mutable.HashMap[String,Int]

//获取映射的值
val str1 = map1("name")    //如果不包含键name会抛出异常
var str2 = if(map1.contains("name"))map1("name")else null
var str3 = map1.getOrElse("name", null);

//更新或增加映射的值
map3("name") = "zhangSan"        //更新
map3("address") = "BJ"            //新增
map3 += ("gender"->"male","emale"->"111@163.com")  //增加

//删除映射
map3.remove("address")
map3-= "gender"
map3 -= ("name","emale")

val newMap = map1 + ("gender" -> "female")    //map1不可改变但可以赋给新的map

//迭代
for((k,v) <- newMap){
println(k +"\t"+v)
}
var keys = newMap.keySet;      //得到所有的key
var values = newMap.values;    //得到所有的value

//反转map的key,value
var resverseMap = for((k,v) <- newMap)yield(v,k)

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scala