配列から変更可能なリストを作成しますか? 質問する

配列から変更可能なリストを作成しますか? 質問する

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

変更可能なビュー配列にそれを実装するには、自分で実装する必要があると思います。

おすすめ記事