5

我想做 2D 动态 ArrayList 例子:

[1][2][3]
[4][5][6]
[7][8][9]

我使用了这段代码:

 ArrayList<ArrayList<Integer>> group = new ArrayList<ArrayList<Integer>>();
        group.add(new ArrayList<Integer>(1, 2, 3));

我应该如何初始化这个数组列表?

4

2 回答 2

6

如果内部列表不需要特别ArrayList是 s,那么在 Java 7 中进行此类初始化的一种方法如下:

ArrayList<List<Integer>> group = new ArrayList<List<Integer>>();
group.add(Arrays.asList(1, 2, 3));
group.add(Arrays.asList(4, 5, 6));
group.add(Arrays.asList(7, 8, 9));
for (List<Integer> list : group) {
    for (Integer i : list) {
        System.out.print(i+" ");
    }
    System.out.println();
}

ideone 上的演示

于 2013-11-09T18:00:44.713 回答
1

利用

group.add(new ArrayList<Integer>(Arrays.asList(1, 2, 3)));

在构造函数中ArrayList有一个Collection参数。

如果你定义group

List<List<Integer>> group = new ArrayList<>();
group.add(Arrays.asList(1, 2, 3));
于 2013-11-09T18:12:00.490 回答