【scala備忘録】リストのメソッド

最近scalaを勉強し始めた。
忘れやすい自分のために、基本的なリストのメソッドを書いておく。

scala> var list = List(1,2,3,4)
list: List[Int] = List(1, 2, 3, 4)

  • head リストの先頭の要素を求める

scala> list.head
res0: Int = 1

  • tail リストの先頭要素を取り除いたリストを求める

scala> list.tail
res1: List[Int] = List(2, 3, 4)

  • :: or +: リストの先頭に要素を付け加えたリストを求める

scala> 5::list
res2: List[Int] = List(5, 1, 2, 3, 4)

scala> 5+:list
res3: List[Int] = List(5, 1, 2, 3, 4)

  • length or size リストの長さを求める

scala> list.length
res4: Int = 4

scala> list.size
res5: Int = 4

  • isEmpty 空リストであるか調べる

scala> list.isEmpty
res6: Boolean = false

  • == リストを比較する

scala> list == List(1,2,3,4)
res7: Boolean = true

  • last リストの最後の要素を求める

scala> list.last
res8: Int = 4

  • init リストの最後の要素を除いたリストを求める

scala> list.init
res9: List[Int] = List(1, 2, 3)

  • :+ リストの最後に要素を付け加えたリストを求める

scala> list:+5
res10: List[Int] = List(1, 2, 3, 4, 5)

  • apply(n) or (n) n番目の要素を求める

scala> list.apply(3)
res11: Int = 4

scala> list(3)
res12: Int = 4

  • take(n) リストの先頭からn個の要素からなるリストを求める

scala> list.take(2)
res13: List[Int] = List(1, 2)

  • takeRight(n) リストの最後からn個の要素からなるリストを求める

scala> list.takeRight(2)
res14: List[Int] = List(3, 4)

  • drop(n) リストの先頭からn個の要素を除いたリストを求める

scala> list.drop(2)
res15: List[Int] = List(3, 4)

  • dropRight(n) リストの最後からn個の要素を除いたリストを求める

scala> list.dropRight(2)
res16: List[Int] = List(1, 2)

  • contains(x) xがリストの要素に含まれているか調べる

scala> list.contains(1)
res17: Boolean = true

scala> list.contains(10)
res18: Boolean = false

  • ::: リストの連結

scala> list:::list
res19: List[Int] = List(1, 2, 3, 4, 1, 2, 3, 4)

  • reverse 逆順のリストを求める

scala> list.reverse
res20: List[Int] = List(4, 3, 2, 1)

  • sorted 昇順にしたリストを求める

scala> list.sorted
res21: List[Int] = List(1, 2, 3, 4)

逆順の場合

scala> list.sorted(Ordering[Int].reverse)
res22: List[Int] = List(4, 3, 2, 1)

  • sum 全要素の和を求める

scala> list.sum
res23: Int = 10

  • max 全要素の積を求める

scala> list.product
res24: Int = 24

  • min 全要素の最大値を求める

scala> list.max
res25: Int = 4

  • min 全要素の最小値を求める

scala> list.min
res26: Int = 1