ただ日々を記すもの

意識高めを装うことができます

【Scala】lengthメソッド

length メソッドは、リストの長さを計算するメソッドです。

scala> List(1, 2, 3).length // 3 

上のやり方で簡単にリストの長さを確認できます。 ただ、配列とは異なり、比較的コストがかかる操作になってしまいます。

リスト全体をたどり、末尾を探さなければならないので、リストの要素数が増えれば増えるほど時間がかかってしまうのです。

ここで、気をつけたいことは list.isEmpty のような処理を list.length == 0 に置き換えるのはあまりよろしくないということ。
結果は同じですが、かかる時間は遅くなります。

おまけ

リストには、head, tail, init , last というメソッドが存在。
init, lastはともにリスト全体をたどって計算を行うメソッドなので、リストの長さに比例し時間を要します。