
这里介绍几种拷贝数组的方法:for循环、clone()和Arrays.arraycopy。
1.for循环
1 2 3 4 5 6 7 8 | public static void show1(int[][] array){
for (int i = 0;i < array.length;i++){
for (int j = 0;j < array[i].length;j++){
System.out.print(array[i][j]+ " " );
}
System.out.println();
}
}
|
2.clone()
1 2 3 4 5 6 7 8 9 10 11 |
public static void copy3(int[][] sourceArr, int[][] destArr) {
for (int i = 0; i < sourceArr.length; i++) {
destArr[i] = sourceArr[i].clone();
}
}
|
3.Arrays.arraycopy
1 2 3 4 5 | int[][] array = {{1,2,3},{4,5,6}};
int[][] array2 = new int[2][3];
for (int i = 0;i < array.length;i++){
System.arraycopy(array[i], 0, array2[i],
0, array[i].length);
|
4.速度比较
arraycopy的源代码,这种方法拷贝速度最快,没有返回值。
1 2 3 4 | @HotSpotIntrinsicCandidate
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
|
以上就是java二维数组拷贝效率比较,通过本篇的学习,我们在掌握了三种拷贝数组方法的同时,分析出了最快的拷贝方法,并为大家展现出来原因。小伙伴们使用的时候可以自行挑选。更多Java学习指路:java数组
(本教程操作环境:windows7系统、java10版,DELL G3电脑。)