关闭

scala学习笔记-Map

标签: scala
105人阅读 评论(0) 收藏 举报
分类:
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)

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6209次
    • 积分:272
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:4篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论