Map

Scala映射(Map)是一组键/值对的对象。键在映射中是唯一的,但值不一定是唯一的。映射也称为哈希表。映射有两种,不可变的和可变的。默认情况下,Scala使用不可变映射(Map)。如果要使用可变集合(Map),则需要明确导入scala.collection.mutable.Map

  1. val map = Map("name" -> "xiaoming","age" ->20)
  2. println(map("name"))

声明空的映射是,不能省略类型说明,向映射(Map)添加一个键值对,可以使用运算符+

  1. var m :Map[String,Int]= Map()
  2. m += ("one"->1)

判断map中是否包含某个值,可以使用contains方法

  1. if(map.contains("age")){
  2. println(map("age"))
  3. }

如果需要创建可变映射,需要引入scala.collection.mutable.Map包,否则value update is not a member of scala.collection.immutable.Map[String,Any] map("gender") = "cumputer"

  1. val map = Map("name" -> "xiaoming","age" ->20)
  2. map("gender") = "cumputer"
  3. println(map("gender"))

遍历map

  1. val map = Map("name" -> "xiaoming","age" ->20)
  2. map("gender") = "cumputer"
  3. for((k,v) <- map){
  4. printf("%s->%s\n",k,v)
  5. }

也可以只遍历映射中的k或者v

  1. for (k<-map.keys) println(k)
  2. for (v<-map.values) println(v)