转换ArrayList <arraylist <e>&gt;到Java中的E [] [] </arraylist <e>

时间:2011-12-09 11:15:12

标签: java


能否请您建议如何以最佳方式将ArrayLists的ArrayList转换为Java中的简单2d数组?例如。我有

ArrayList<ArrayList<String>> data = ...;

并且想要反对:

String[][] converted = ?;

非常感谢!

4 个答案:

答案 0 :(得分:3)

你可以这样做:

    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()]);
    }

答案 1 :(得分:1)

首先想到的是(假设所有二维ArrayLists都是相同的大小):

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()]);

答案 2 :(得分:0)

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/ArrayList.html

循环遍历数据内容,然后调用data.get(someIndex).toArray()并将其分配给转换后的[someIndex]

答案 3 :(得分:0)

String[][] converted = new String[data.size()][];
for (int i = 0; i < data.size(); i++) {
    converted[i] = data.get(i).toArray(new String[0]);
}