我有二维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
但不知道如何在这里使用它。
最佳答案
对于您发布的数组作为示例:
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
关于java - 左右展开java二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17808500/