この投稿はscala.collection.mutable.LinkedList
について書かれています。他の実装はこのスレッドのトピックではありません。LinkedListの使用例
私の質問は:このクラスのユースケースは何ですか?私はそれが可変でも不変でもないタイプの構造の問題を抱えているのに対し、何の利益ももたらさないことがわかります。私はので、と言う:それは不変のAPI(filter
、map
、drop
、take
など全てがインプレース変更を新しいLinkedList
を返す代わりにやって)
- APIは、私には見えるすべて不変のリンクリストの利点は、それらが
var elem
とvar next
て(まだ変更可能ですので、少なくとも私は、すなわち構造物との間の最大の共有、存在しないと思い、ある。
のでbasicly我々は、線形アクセス時間を持って、リニアAP (O(1)の前置詞を除いていますが、まだ不変なリストの場合もあります)。
このタイプの構造の重要な利点を確認できませんか?私は客観的な尺度やユースケースをこのクラスに適用可能なものとして探しています。
不変クラスの周りに薄いラッパーのように見えます。利点:誰でもそれを書いた人は、バグの導入を心配することなく、すばやくそれを行うことができましたか? – bdares
@bdaresあなたはそれを何と考えますか?私はソースをすばやく見ていて、そんなことはないようです。 –
hmmm ...任意の可変型と同様に、複数のポインタから参照でき、一度編集すると、すべてのポインタから変更が見えます。これは時間の複雑さとは関係がありません。 – Oren