如何创建2D ArrayList?

时间:2013-07-17 00:40:02

标签: java arraylist

我正在尝试使用Java来创建一个二维数组。行的大小是已知的,而列的大小是未知的。这是我的代码,它不起作用。谁能给我一些想法?

ArrayList<Integer> paths[];
paths = new ArrayList[2];// 2 paths
for (int i=0; i<2; ++i)
    paths[i].add(1); // add an element to each path

3 个答案:

答案 0 :(得分:1)

在添加数组元素之前初始化它。将初始化放入for循环:

@SuppressWarnings("unchecked")
ArrayList<Integer>[] paths = new ArrayList[2];

for (int i=0; i<2; ++i) {
    paths[i] = new ArrayList<Integer>();
    paths[i].add(1);
}

这样您可以避免使用NullPointerException

答案 1 :(得分:1)

这是“2d”ArrayList

ArrayList<ArrayList<Integer>> paths = new ArrayList<>();

这是Java的非钻石运算符版本&lt; 1.7:

ArrayList<ArrayList<Integer>> paths = new ArrayList<ArrayList<Integer>>();

答案 2 :(得分:1)

我会推荐这个

    ArrayList<ArrayList<Integer>> paths = new ArrayList<ArrayList<Integer>>();
        for (int i=0; i<2; ++i)
            paths.add(new ArrayList<Integer>());