Каков наиболее эффективный способ скопировать двумерные массивы примитивного типа в Java? - PullRequest
0 голосов
/ 24 марта 2012

Какой самый эффективный способ скопировать двумерные массивы примитивного типа в Java?

Скажем, у меня есть двумерный массив (или даже многомерный массив) некоторого примитивного типа в Java, и я бынравится делать из этого "клона".Какой самый эффективный способ сделать это?

Ответы [ 2 ]

3 голосов
/ 24 марта 2012
int[][] B = Arrays.copyOf(A, A.length);

как в

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

    int[][] B = Arrays.copyOf(A, A.length);
    for(int[] C: B)
    System.out.println(Arrays.toString(C));
1 голос
/ 24 марта 2012

если вам нужна глубокая копия, вам понадобится дополнительная петля

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

int[][] b = new int[][a.length];
for(int i=0;i<a.length;i++)b[i]=Arrays.copyOf(a[i], a[i].length);

рекурс по мере необходимости

...