基本操作
val map = Map(1->"one", 2->"two", 3->"three")
map + (4->"four")
map + (4->"four", 5->"five")
map - 2
map.size
map(1)
map.apply(1)
map.get(1) match {
case Some(v) => v
case None => "Unknown"
}
map.getOrElse(1, "Unknown")
map.contains(5)
map.keySet
for(k <- map.keys) println(map(k))
for(v <- map.values) println(v)
for(kv <- map) println("%d:%s".format(kv._1, kv._2))
より高度な操作
map.filter((kv) => kv._1 >= 2)
map.filterKeys(_ >= 2)
map.map((kv) => "%d:%s".format(kv._1, kv._2))
map.map { case (k,v) => (k,v*k) }
val jap = Map("one"->"ICHI", "two"->"NI", "three"->"SAN")
map.mapValues((v) => jap(v))
map.collect {
case(k, v) if (k % 2 == 1) => "%d:%s".format(k,v)
}