length
メソッドは、リストの長さを計算するメソッドです。
scala> List(1, 2, 3).length // 3
上のやり方で簡単にリストの長さを確認できます。 ただ、配列とは異なり、比較的コストがかかる操作になってしまいます。
リスト全体をたどり、末尾を探さなければならないので、リストの要素数が増えれば増えるほど時間がかかってしまうのです。
ここで、気をつけたいことは list.isEmpty
のような処理を list.length == 0
に置き換えるのはあまりよろしくないということ。
結果は同じですが、かかる時間は遅くなります。
おまけ
リストには、head
, tail
, init
, last
というメソッドが存在。
init
, last
はともにリスト全体をたどって計算を行うメソッドなので、リストの長さに比例し時間を要します。