scala学习笔记-Map

原创 2016年08月29日 16:42:20
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学习笔记--Map,Tuple,Zip总结

补充定义: 映射:键/值对偶的集合 在Scala中,映射是对偶的集合,对偶简单地说就是两个值构成的组,这两个值并不一定是同一类型的,例如:(“Alice”,10) 元组(...

Scala学习笔记之`map`、`reduce`和`foreach`

Scala学习笔记之map、reduce和foreach各自基本用法

Scala学习笔记--第5章 映射(Map)

5.1 构造映射 Scala构造映射与Java有很大的区别,基本语法如下: val scores = Map(“Allan” -> 60, “Kevin” -> 70, “Kobe” ->80) ...

[Scala]Scala学习笔记三 Map与Tuple

1. 构造映射可以使用如下命令构造一个映射:scala> val scores = Map("Alice" -> 90, "Kim" -> 89, "Bob"-> 98) scores: scala....

scala学习笔记

  • 2016年04月13日 11:44
  • 9KB
  • 下载

Scala编程_学习笔记

  • 2016年12月18日 19:16
  • 4.71MB
  • 下载

scala编程学习笔记(一)变量定义函数定义

变量定义: val:类似java中final类型的变量 1,基本格式:val 变量名:变量类型 = 值2,其中有时变量类型可以省略,可以自动识别3,变量不能赋值,修改 var :等同于java中的非...

scala学习笔记1-泛型、界定、形变、this.type、复合类型、抽象类型

泛型、界定、形变、this.type、复合类型、抽象类型
  • sucabit
  • sucabit
  • 2015年11月23日 22:40
  • 1918

Scala学习笔记-声明值和变量

Scala-值和变量
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:scala学习笔记-Map
举报原因:
原因补充:

(最多只允许输入30个字)