1 配列をリストに変換する
Arrays クラスの静的メソッド asList を呼び出します。
asList
public static <T> List<T> asList(T... a) 指定された配列を基にした固定サイズのリストを返します (返されたリストを配列に「ライトスルー」して変更します)。このメソッドは、次の間のブリッジとして機能します。 Collection.toArray() と組み合わせた配列ベースおよびコレクションベースの API。返されるリストはシリアル化可能であり、RandomAccess を実装します。
このメソッドは、いくつかの要素を含むように初期化された固定サイズのリストを作成する便利な方法も提供します。
List<String> stooges = Arrays.asList("ラリー", "モー", "カーリー");
パラメータ:
a - リストの基になる配列
戻り値:
指定された配列のリストビュー
使用法: API は使用方法を提供します。より一般的に使用されるコード例:
次のようにコードをコピーします。
String[] arr = new String[] {"str1", "str2"};
List<String> list = Arrays.asList(arr);
2 リストを配列に変換する
ここでの List は ArrayList を例にしています。ArrayList の API には使用できる関数が 2 つあります。
toArray
public Object[] toArray() このリスト内のすべての要素を適切な順序 (最初の要素から最後の要素まで) で含む配列を返します。
返された配列は、このリストによって参照が保持されないため「安全」になります (つまり、このメソッドは新しい配列を割り当てる必要があるため、返された配列を自由に変更できます)。
このメソッドは、配列ベースの API とコレクションベースの API の間のブリッジとして機能します。
指定者:
インタフェース Collection<E> の toArray
指定者:
インタフェース List<E> の toArray
オーバーライド:
クラス AbstractCollection<E> の toArray
戻り値:
このリスト内のすべての要素を適切な順序で含む配列
関連項目:
Arrays.asList(オブジェクト[])
-------------------------------------------------- ----------------------------------
toArray
public <T> T[] toArray(T[] a) このリスト内のすべての要素を適切な順序 (最初の要素から最後の要素まで) で含む配列を返します。返される配列の実行時型は、指定された配列の型です。リストが指定された配列に収まる場合は、そのリストが返されます。そうでない場合は、指定された配列の実行時タイプとこのリストのサイズで新しい配列が割り当てられます。
リストが指定された配列に余裕を持って収まる場合 (つまり、配列にリストよりも多くの要素がある場合)、コレクションの末尾の直後の配列内の要素が null に設定されます (これは長さを決定するのに役立ちます)。呼び出し元がリストに null 要素が含まれていないことを知っている場合にのみ、リストを削除します。)
指定者:
インタフェース Collection<E> の toArray
指定者:
インタフェース List<E> の toArray
オーバーライド:
クラス AbstractCollection<E> の toArray
パラメータ:
a - リストの要素が格納される配列。十分な大きさでない場合は、同じランタイム型の新しい配列がこの目的のために割り当てられます。
戻り値:
リストの要素を含む配列
投げる:
ArrayStoreException - 指定された配列のランタイム型が、このリスト内のすべての要素のランタイム型のスーパータイプではない場合
NullPointerException - 指定された配列が null の場合
使用法: コード例:
次のようにコードをコピーします。
List<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
int サイズ = list.size();
String[] arr = (String[])list.toArray(new String[size]);//2 番目のインターフェイスを使用すると、戻り値とパラメータは両方とも結果になります