2011-07-08 19 views
42

Scalaのcollection.mutable.Seqについて私が理解できないことがあります。変更可能なすべてのシーケンスのインタフェースについて説明していますが、新しいシーケンスを作成せずに要素を追加または追加するメソッドはありません。私はここで何かを見逃していますか?Scala mutable.Seqを追加または追加する方法

がそれぞれ追記して先頭に追加、ため:++:ありますが、彼らは新しいコレクションを作成 - 不変シーケンスの動作と一致するためには、私が想定しています。これは問題ありませんが、+=+=:のようなメソッドはありません。つまり、ArrayBufferListBufferのように定義されています。インプレースアペンドを実行する場合は、collection.mutable.Seqと入力された変更可能なseqを参照することはできませんか?

は再び、私は、何かを明らかに見逃している必要がありますが、シーケンス(updateメソッドを経由して)あなたが別のもののためのアイテムを交換することができるでしょうだけ保証のために何...

答えて

69

可変性を見つけることができませんできるだけ早くプリミティブ配列。 ではなくは、シーケンスを大きくすることができることを保証します(これはGrowableの特性のためです)またはそれより小さい(Shrinkable)。

Bufferは、ではなく、GrowableShrinkableを含む抽象的な特性です。

+1

これはすべて意味があります!それが私が逃した明白な部分でした。ありがとう! –

+3

ああ。私はこれが実際に誰にでも役立っているのだろうかと思います。 –

関連する問題