ScalaのコレクションAPIを徹底解説!List・Map・Setの使い方から、foldLeft・map・filterなどの便利メソッドまで、サンプルコード付きで詳しく解説します。

Scalaの基本を学ぶ【その1】〜制御構文・クラス・オブジェクト・関数〜

動作環境

Scala:2.12

コレクションライブラリ(immutable と mutable)

Scalaには、一度作成したら変更できない(immutable)なコレクションと変更できる(mutable)通常のコレクションがある。

immutableなコレクションを使うメリット

  1. 関数型プログラミングで多用する再起との相性が良い
  2. 高階関数を用いて簡潔なプログラムを書くことができる
  3. 一度作ったコレクションが知らない箇所で
  4. 並行に動作するプログラムの中で、安全に受け渡しすることができる

Array(mutable)

Arrayの定義例:

val arr = Array(1, 2, 3, 4, 5)
// 型を省略せずに書くと
val arr = Array[Int](1, 2, 3, 4, 5)

ここで、[Int]の部分は型パラメータと呼ぶ。Arrayだけではどの型か分からないので、[Int]と付けることでどの型のArrayかを指定している。(しかし、この場面では、Arrayの要素型はIntだとわかっているので、冗長な書き方)

この型パラメータは型推論を補うために、色々な箇所で出てくる。

Range

Rangeは範囲を表すオブジェクト