ArrayListのArrayListをJavaの単純な2次元配列に変換する方法を、最良の方法で教えてください。例えば。私はArrayList <ArrayList<E>>をJavaのE [] []に変換する
ArrayList<ArrayList<String>> data = ...;
を持っているとobrainたい:
String[][] converted = ?;
おかげでたくさん!
ArrayListのArrayListをJavaの単純な2次元配列に変換する方法を、最良の方法で教えてください。例えば。私はArrayList <ArrayList<E>>をJavaのE [] []に変換する
ArrayList<ArrayList<String>> data = ...;
を持っているとobrainたい:
String[][] converted = ?;
おかげでたくさん!
あなたはこのようにそれを行うことができ:
(全ての第2次元のArrayListが同じサイズであると仮定した場合)ことString[][] converted = new String[data.size()][];
for (int i = 0; i < data.size(); i++) {
converted[i] = data.get(i).toArray(new String[data.get(i).size()]);
}
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html
ループデータの内容によっては、data.get(someIndex).toArrayを(呼び出し)と頭に浮かぶ変換[someIndex]
String[][] converted = new String[data.size()][];
for (int i = 0; i < data.size(); i++) {
converted[i] = data.get(i).toArray(new String[0]);
}
まず最初にそれを割り当てます
ArrayList<ArrayList<String>> data = ...;
String[][] converted = new String[data.size()][data.get(0).size()];
for (int i = 0; i < data.size(); i++)
converted[i] = data.get(i).toArray(new String[data.get(i).size()]);