(Java)Listを配列に変換する

Listから配列への変換はforループやIteratorを使わなくてもtoArray()メソッドを使えば簡単にできる。

コード

public static void main(String[] args) {

    // Listに文字列を追加
    List<String> list = new ArrayList();
    list.add("あ");
    list.add("い");
    list.add("う");

    // ListをString配列に変換
    String[] array = (String[]) list.toArray(new String[0]);

    // 配列の中身を出力
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }

}

実行結果

あ
い
う

逆に、配列からListに変換する場合はこっち。

(Java)配列をListに変換する - 週刊プログラム


ListのジェネリクスがObject型だったり、古いソースコードジェネリクスが使えないような場合は、Object配列に変換すればよい。

コード

public static void main(String[] args) {

    // Listにいろんなオブジェクトを追加
    List list = new ArrayList();
    list.add("文字列");
    list.add(new Integer(999));
    list.add(new Date());

    // Object配列に変換。
    Object[] array = (Object[]) list.toArray();
 
    // 配列の中身を出力
    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i].toString());
    }

}

実行結果

文字列
999
Wed Mar 30 20:31:45 JST 2011

こんなかんじ。