scala学习笔记-Map

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)

}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21853607/article/details/52354469
文章标签: scala
个人分类: scala
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭