我正在尝试水平组合两个2D数组a,b,如果:
a = [[1, 1],
[1, 1]]
b = [[2, 2],
[2, 2]]
然后合并的数组c应该如下所示:
c = [[1, 1, 2, 2],
[1, 1, 2, 2]]
垂直组合非常简单,然后看起来像这样:
d = [[1, 1],
[1, 1],
[2, 2],
[2, 2]]
但我想横向组合它们。有关如何为具有相同尺寸的两个2D阵列实现此目的的任何想法吗?
答案 0 :(得分:1)
如果数组a和b的维数相同(即对于某些正整数x和y):
int[][] a = new int[x][y];
int[][] b = new int[x][x];
然后创建一个新数组:
int[][] c = new int[2*x][y];
并使用嵌套的for循环来填充相应的元素:
public class Main {
public static void main(String[] args) {
int[][] a = {{1,1},{1,1}};
int[][] b = {{2,2},{2,2}};
int[][] c = new int[2*a.length][a.length];
for(int i = 0; i < 2*a.length; i++) {
for (int j = 0; j < a.length; j++) {
if (i < a.length) {
c[i][j] = a[i][j];
} else {
c[i][j] = b[i - a.length][j];
}
}
}
}
}