Scala 集合 / Set
環境 Scala 2.11.6 CentOS7.0
「Scalaスケーラブルプログラミング」(コップ本)メモ
読了:第04章まで
■ 集合 / Set
Scalaの集合は
- 順序が存在しない
- 重複を許可しない
- ミュータブルとイミュータブルが両方存在する
- 基本はイミュータブル
- 異なる型を要素に追加できる
である。
▽初期化
// 通常はイミュータブルSet scala> val set1 = Set(1,2,"a") set1: scala.collection.immutable.Set[Any] = Set(1, 2, a) // ミューターブルSet。importも可。 scala> val set2 = scala.collection.mutable.Set(3, 4, "ABC") set2: scala.collection.mutable.Set[Any] = Set(3, 4, ABC) scala>
▽値の設定
インデックス(キー)が存在しないので、個別の値を特定して設定はできない
▽値の取得
個別の値を取得する方法はない。
// for文を使った取得 scala> for (elm <- set1) println(elm) 1 2 a // foreachを使った取得 scala> set1.foreach(elm => println(elm)) 1 2 a
▽値の追加
// イミュータブルSetには値を追加できない scala> set1 += 5 <console>:9: error: value += is not a member of scala.collection.immutable.Set[Any] set1 += 5 // ミュータブルSetへは値を追加可能 scala> set2 += 5 res5: set2.type = Set(5, 3, 4, ABC)