0

我正在尝试使用 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
4

3 回答 3

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.

于 2013-07-17T00:44:26.640 回答
1

这是一个“二维” ArrayList

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

这是 Java < 1.7 的非菱形运算符版本:

ArrayList<ArrayList<Integer>> paths = new ArrayList<ArrayList<Integer>>();
于 2013-07-17T00:50:47.517 回答
1

我会推荐这个

    ArrayList<ArrayList<Integer>> paths = new ArrayList<ArrayList<Integer>>();
        for (int i=0; i<2; ++i)
            paths.add(new ArrayList<Integer>());
于 2013-07-17T01:18:23.807 回答