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