Scala マップ / Map
環境 Scala 2.11.6 CentOS7.0
「Scalaスケーラブルプログラミング」(コップ本)メモ
読了:第04章まで
■ マップ / Map
Scalaの集合は
- 順序が存在しない
- 重複を許可しない
- ミュータブルとイミュータブルが両方存在する
- 基本はイミュータブル
である。
▽初期化
// 通常はイミュータブルMap scala> val map1 = Map[Int, String]() map1: scala.collection.immutable.Map[Int,String] = Map() // ミュータブルMap scala> val map2 = scala.collection.mutable.Map[Int, String]() // 初期化と値の設定を以下のように行う事も可能 scala> val map3 = Map(1 -> "I", 2 -> "II", 3 -> "III") map3: scala.collection.immutable.Map[Int,String] = Map(1 -> I, 2 -> II, 3 -> III) // キーはInt以外でも可 scala> val map4 = Map("I" -> "AAA", "II" -> "BBB") map4: scala.collection.immutable.Map[String,String] = Map(I -> AAA, II -> BBB)
▽値の設定
// イミュータブルMapに値を設定はできない scala> map1 += (1 -> "<1>") <console>:9: error: value += is not a member of scala.collection.immutable.Map[Int,String] map1 += (1 -> "<1>") // ミュータブルMap scala> map2 += (1 -> "<1>") res1: map2.type = Map(1 -> <1>)
▽値の取得
// キーを指定して呼び出し scala> map4("I") res4: String = AAA scala> map2(1) res5: String = <1>