简体   繁体   English

如何创建二维ArrayList?

[英]How to create a 2D ArrayList?

I'm trying to use Java to create a 2-dimensional array. 我正在尝试使用Java创建二维数组。 The size of rows is known, while the size of columns is unknown. 行的大小是已知的,而列的大小是未知的。 Here is my code and it doesn't work. 这是我的代码,它不起作用。 Could anyone give me some idea? 谁能给我一些想法?

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

Initialize the array element before adding to it. 在添加数组元素之前对其进行初始化。 Put the initialization into the for loop: 将初始化放入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);
}

This way you can avoid the NullPointerException . 这样,您可以避免NullPointerException

This is a "2d" ArrayList : 这是一个“ 2d” ArrayList

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

And here is the non-diamond operator version for Java < 1.7: 这是Java <1.7的非钻石运算符版本:

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

I would recomend this 我会推荐这个

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM