二维数组遍历思想;
一;先拿到二维数组的元素
二;在对二维数组进行遍历,就是对两个一维数组进行遍历,采用双重for循环。
你可以选择先遍历行,也可先遍历列 ,这外层循环为行,里层循环为列,先遍历列。
int [][]arr1 =new int[][]{{2,3,4},{5,6}};
for (int i = 0; i <arr1.length ; i++) {
for (int j = 0; j <arr1[0].length ; j++) {
System.out.print(arr1[i][j] +" ");
}
}
结果
这就是先把arr1[0]这一行打印出来。
下面介绍比较常用的二维数组拷贝。还有别的拷贝方式不是很长用这里不在介绍了,有兴趣的可以去多多了解。
1.for循环打印
int[][] array = {{1,2,3},{4,5,6}};
int[][] array2 = new int[2][3];
for(int i = 0;i < array.length;i++){
for(int j = 0;j < array[i].length;j++){
array2[i][j] = array[i][j];
}
}
- Arrays.copyOf与 Arrays.arraycopy
int[][] array = {{1,2,3},{4,5,6}};
int[][] array2 = new int[2][3];
for(int i = 0;i < array.length;i++){
System.arraycopy(array[i], 0, array2[i],
0, array[i].length);
int[][] array = {{1,2,3},{4,5,6}};
int[][] array2 = new int[2][3];
for(int i = 0;i < array.length;i++){
array2[i] = Arrays.copyOf(array[i],array[i].length);
这就是二位数组常用的拷贝方式。这里面涉及到了一个问题,那就是Java中的深拷贝及浅拷贝的问题。我会在下一章详细介绍