1

我有二维 java 数组,例如:

int[]][]arr = {{1, 2, 3, 4, 5, 6}, {7, 8, 9, 10, 11, 12}}

我想将它的左右几列复制到数组的左右两侧。这是我的目标:

int[][] arr = {{5, 6, 1, 2, 3, 4, 5, 6, 1, 2}, {11, 12, 7, 8, 9, 10, 11, 12, 7, 8}}

在现实生活中,我的阵列非常大(1500x600),我需要一个快速的解决方案。我知道System.arraycopy但不知道如何在这里使用它。

4

1 回答 1

2

对于您作为示例发布的数组:

int[][] arr1 = {{1, 2, 3, 4, 5, 6}, {7, 8, 9, 10, 11, 12}}
int[][] arr2 = new int[2][10];

// ...

for(int n = 0; n < arr1.length; n++) {
    System.arrayCopy(arr1[n], 0, arr2[n], 0, 2);
    System.arrayCopy(arr1[n], 0, arr2[n], 2, 6);
    System.arrayCopy(arr1[n], 4, arr2[n], 6, 2);
}

// here arr2 will have what you want
于 2013-07-23T11:15:53.780 回答