我希望做一个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));
我该如何初始化这个ArrayList?
我希望做一个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));
我该如何初始化这个ArrayList?
ArrayList
,在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();
}
group.get(1).add(999)
向4, 5, 6
数组添加一个元素,它将不允许您这样做。这是因为Arrays.asList
将返回一个AbstractList
而不是ArrayList
。(如果需要编辑列表,请将其包装在构造函数中,如ArrayList<>(Arrays.asList(4, 5, 6))
。https://ideone.com/0WEVZ4 - kaushalpranav使用
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));