Geek-Side

Resource > Map

Mapは key->value の形式で指定する。
valueを取得する場合はapplyメソッドを利用する。
 scala> var map = Map("key1"->"val1", "key2"->"val2")
 map: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(key1 -> val1, key2 -> val2)

 scala> map.apply("key1")
 res1: java.lang.String = val1

MapのValue値変換。
 scala> val m = Map(1->2, 3->4, 5->6)
 m: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2, 3 -> 4, 5 -> 6)
 
 scala> m.transform((k,v) => k+v)
 res3: scala.collection.immutable.Map[Int,Int] = Map(1 -> 3, 3 -> 7, 5 -> 11)

Listに対するmapの適用。
 scala> val l = List(1,2,3,4)
 l: List[Int] = List(1, 2, 3, 4)
 
 scala> l.map((x) => x * 2)
 res0: List[Int] = List(2, 4, 6, 8)
 
 scala> l.map(x => x * 2)
 res1: List[Int] = List(2, 4, 6, 8)
 
 scala> l.map(_*2)
 res2: List[Int] = List(2, 4, 6, 8)
 
 scala> l map (x => x * 2)
 res3: List[Int] = List(2, 4, 6, 8)