List
配列の内容を変更するために、配列を に変換したいと考えています。
Stack Overflow にはArrays.asList()
、 と、それが基になる配列のリスト ビューのみを提供する仕組み、および、リストをUnsupportedOperationException
操作するために使用されるメソッド ( add()
、remove()
など) が によって提供されるリスト実装によって実装されていないため、結果のリストを操作しようとすると通常 がスローされる仕組みに関する質問/回答が多数ありますArrays.asList()
。
しかし、配列を変更可能なリストに変換する方法の例が見つかりません。配列とput()
各値をループして新しいリストに入れることはできると思いますが、これを実行するためのインターフェースが存在するかどうか疑問に思っています。
ベストアンサー1
簡単な方法は1つです:
Foo[] array = ...;
List<Foo> list = new ArrayList<Foo>(Arrays.asList(array));
これにより、変更可能なリストが作成されますが、コピー元の配列の。リストを変更するとない配列を変更します。もちろん、 を使用して後でコピーし直すこともできますtoArray
。
変更可能なビュー配列にそれを実装するには、自分で実装する必要があると思います。