List の使い方(最初は作り方)
- Scala の List はイミュータブル(変更不可能)なシーケンス
- List の空リストは () 又は Nil
- List の作成は、ファクトリメソッド( List(要素, ..) の形式 ) か :: を使う。
- List に対して新しい要素を追加した List を作成する時は :: を使う。
- List のファクトリメソッド(apply)は、List のコンパニオンオブジェクトで定義されている。
- Scala で apply メソッドは特別扱いされるので List.apply(要素, ..) は List(要素, ..) と書ける。
scala> val list = List(1, 2, 3) list: List[Int] = List(1, 2, 3) scala> val list2 = 4 :: 5 :: 6 :: Nil list2: List[Int] = List(4, 5, 6)
- List と List を結合するときは ::: を使う。
scala> val list3 = list ::: list2 list3: List[Int] = List(1, 2, 3, 4, 5, 6)
scala> val list4 = list3 ::: List(7) list4: List[Int] = List(1, 2, 3, 4, 5, 6, 7) scala> val list5 = 0 :: list3 list5: List[Int] = List(0, 1, 2, 3, 4, 5, 6)
- List 要素の参照
- List オブジェクトに()でリストの要素の添字(0オリジン)を指定すると要素を返す。
- List オブジェクトの apply メソッドが暗黙に呼び出されている。
- List オブジェクトに()でリストの要素の添字(0オリジン)を指定すると要素を返す。
scala> list4(6) res8: Int = 7 scala> list4(0) res9: Int = 1
Scala では List の添字 n の大きさに比例して要素のアクセスに時間がかかるため
Array ほどランダムな要素の選択を使用することは少ない。