(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に変換する場合はこっち。
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
こんなかんじ。