如何在Java中合并两个矩阵

3

我想将两个具有相同列数但行数不同的矩阵连接起来,但我想知道如何使用一个命令完成此操作。

我已经知道如何使用for循环来完成此操作,现在我想知道Java中是否有一个命令可以代替。

例如:

int m1[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

int m2[][] = {{10, 11, 12}, {13, 14, 15}};

将它们合并成一个矩阵m的魔法指令

int m = join(m1, m2);

m = 

1 2 3

4 5 6

7 8 9

10 11 12

13 14 15
3个回答

3

Apache Commons是您的好朋友:

int m[][] = (int [][])ArrayUtils.addAll(m1, m2);

我看到Apache Commons网站上有很多下载链接。我应该选择哪一个? - marionmaiden
Apache Commons Lang 是你正在寻找的。 - beny23

3
int m[][] = new int[m1.length+m2.length][];
System.arraycopy(m1, 0, m, 0, m1.length);
System.arraycopy(m2, 0, m, m1.length, m2.length);

虽然您可能想要克隆每一行,但请注意


抱歉,伙计,它没起作用。这个方法不接受矩阵作为参数。 - marionmaiden
抱歉,应该是arraycopy(小写c)。 - Maurice Perry

1
int m[][] = Arrays.copyOf(m1, m1.length + m2.length);
System.arraycopy(m2, 0, m, m1.length, m2.length);

抱歉,伙计,它没起作用。这个方法不接受矩阵作为参数。 - marionmaiden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接