次よりも配列をリストにコピーする1行の方法があるかどうか疑問に思っています:
String array[] = new String[]{"1", "2", "3", "4" } ;
List list = new ArrayList();
for (int i=0; i< array.length; i++){
list.add(array[i] );
}
編集:両方の有益な回答に感謝します。非常に役立ちます:)
次よりも配列をリストにコピーする1行の方法があるかどうか疑問に思っています:
String array[] = new String[]{"1", "2", "3", "4" } ;
List list = new ArrayList();
for (int i=0; i< array.length; i++){
list.add(array[i] );
}
編集:両方の有益な回答に感謝します。非常に役立ちます:)
はい、1 つのライナーがあります。Arrays.asList(T...a)を使用して配列をリストに変換し、コレクションを受け取る ArrayList オーバーロードされたコンストラクターに引数として渡します。
List<String> list = new ArrayList<String>(Arrays.asList(array))
リスト形式の配列が必要であるが、実際には配列を構造的に変更する必要がない場合は、次のことができますList<String> list = Arrays.asList(array);
。
それ以外の場合は、@PremGenError の回答が最適です。
最も簡単な方法は次のとおりです。
List<String> fixedList = Arrays.asList(array);
ただし、これは指定された配列に基づく固定サイズのリストを返します。これは、リスト ( などlist.add("10")
)を変更しようとするjava.lang.UnsupportedOperationException
と実行時にエラーが発生することを意味するので、注意してください。
固定サイズのリストに基づいて、変更可能なリストを作成できます。
List<String> modifiableList = new ArrayList<String>(fixedList);
次のように、両方の手順を 1 行のコードにまとめることができます。
List<String> list = new ArrayList<String>(Arrays.asList(array));