この投稿では、 についてのみ説明しscala.collection.mutable.LinkedListます。他の実装は、このスレッドのトピックではありません。
私の質問は: このクラスのユースケースは何ですか? 私は、可変タイプと不変タイプの構造の両方の問題を抱えている一方で、メリットがないことを発見しました。私がそう言うのは:
- APIは、不変のAPIであるかのように見えます(
filter、map、などはすべてdrop、インプレース変更を行うのではなくtake、新しいものを返します)LinkedList - 不変のリンクされたリストのすべての利点は、少なくとも私が推測するに存在しないと思います。つまり、構造間の最大の共有
var elemですvar next。
したがって、基本的には、線形アクセス時間、線形追加時間、線形スペースなどがありますが、スペースの複雑さやコードについて推論する能力については何も示していません (おそらく O(1) プリペンドを除くが、不変リストの場合は依然としてそうです)。 .
このタイプの構造の重要な利点を見落としていませんか? このクラスに適用できる客観的な尺度やユースケースを探しています。