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)

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值