public static int[][] mergeArrays(int[][] arr1, int[][] arr2) {
int rows1 = arr1.length;
int rows2 = arr2.length;
int columns1 = arr1[0].length;
int columns2 = arr2[0].length;
if (columns1 != columns2) {
System.out.println("两个数组的列数不同,无法合并!");
return null;
}
int[][] result = new int[rows1 + rows2][columns1];
for (int i = 0; i < rows1; i++) {
for (int j = 0; j < columns1; j++) {
result[i][j] = arr1[i][j];
}
}
for (int i = 0; i < rows2; i++) {
for (int j = 0; j < columns2; j++) {
result[rows1 + i][j] = arr2[i][j];
}
}
return result;
}
该方法首先检查两个输入数组的列数是否相同,如果不相同,则无法合并。然后创建一个新的二维数组,其行数等于两个输入数组的行数之和,列数等于两个输入数组的列数。接下来,该方法循环遍历两个输入数组,并将它们的值复制到新数组中。返回合并后的新数组。
举个例子,假设我们有以下两个二维数组:
int[][] arr1 = {{1, 2}, {3, 4}};
int[][] arr2 = {{5, 6}, {7, 8}};
我们可以调用mergeArrays()
方法,将它们合并成一个新数组:
int[][] result = mergeArrays(arr1, arr2);
最终,result
数组的内容如下:
{{1, 2}, {3, 4}, {5, 6}, {7, 8}}