Как можно объединить две матрицы в Java - PullRequest
3 голосов
/ 21 января 2010

Я хочу объединить 2 матрицы с одинаковым количеством столбцов и разным количеством строк, но мне интересно, как я могу сделать это с помощью одной команды.

Я уже знаю, как это сделать, используя for's , тогда я хочу знать, есть ли в 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 голосов
/ 21 января 2010

Apache Commons - ваш друг:

int m[][] = (int [][])ArrayUtils.addAll(m1, m2);
3 голосов
/ 21 января 2010
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);

Возможно, вы захотите клонировать каждую строку, хотя

1 голос
/ 21 января 2010
int m[][] = Arrays.copyOf(m1, m1.length + m2.length);
System.arraycopy(m2, 0, m, m1.length, m2.length);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...