📅  最后修改于: 2023-12-03 15:02:00.356000             🧑  作者: Mango
在Java中,二维数组列表是一个非常有用的数据结构,它可以保存一个指定类型的数据集合,并以二维数组的方式来进行组织和管理。
二维数组列表实际上是一个嵌套的数据结构,它由多个一维数组所组成,并且每个一维数组的长度可以不同。我们可以把它想象成一个表格,其中每行表示一个一维数组,每列表示这个一维数组中的数据元素。
在Java中,我们可以使用 ArrayList<ArrayList
ArrayList<ArrayList<Integer>> grid = new ArrayList<ArrayList<Integer>>();
这样就创建了一个空的二维数组列表 grid,并且其中的每个元素都是一个空的一维数组列表。如果我们要访问其中的某一个元素,可以使用 grid.get(row).get(col) 的方式来获取,其中 row 表示行号,col 表示列号。
添加数据时,我们需要先指定要添加的行和列,然后再将数据添加到对应的位置。例如,我们要在第2行第3列处添加一个整数 5,可以使用以下代码:
grid.get(1).add(2, 5);
其中,get(1) 表示获取第2行的一维数组列表,add(2, 5) 表示将整数 5 添加到该数组列表的第3个位置处。
遍历二维数组列表时,我们需要嵌套使用两个 for 循环,一个用来遍历行,一个用来遍历列。例如,我们要遍历整个数组列表,并输出其中的每个元素,可以使用以下代码:
for (ArrayList<Integer> row : grid) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
其中,第一个循环用来遍历所有的行,第二个循环用来遍历某一行中的所有列。注意,在遍历每一行时,我们要先输出该行中的所有元素,然后再输出一个换行符。
与普通的二维数组相比,二维数组列表具有以下优点:
虽然二维数组列表具有很多优点,但也存在一些缺点,主要包括: