java二维数组拷贝效率比较

这里介绍几种拷贝数组的方法:for循环、clone()和Arrays.arraycopy。

1.for循环

publicstaticvoidshow1(int[][]array){
for(inti=0;i<array.length;i++){
for(intj=0;j<array[i].length;j++){
System.out.print(array[i][j]+"");
}
System.out.println();
}
}

2.clone()

/**
*使用数组本身的clone()方法
*
*@paramsourceArr源数组
*@paramdestArr目标数组
*/
publicstaticvoidcopy3(int[][]sourceArr,int[][]destArr){
for(inti=0;i<sourceArr.length;i++){
destArr[i]=sourceArr[i].clone();
}
}

3.Arrays.arraycopy

int[][]array={{1,2,3},{4,5,6}};
int[][]array2=newint[2][3];
for(inti=0;i<array.length;i++){
System.arraycopy(array[i],0,array2[i],
0,array[i].length);

4.速度比较

arraycopy的源代码,这种方法拷贝速度最快,没有返回值。

@HotSpotIntrinsicCandidate
publicstaticnativevoidarraycopy(Objectsrc,intsrcPos,
Objectdest,intdestPos,
intlength);

以上就是java二维数组拷贝效率比较,通过本篇的学习,我们在掌握了三种拷贝数组方法的同时,分析出了最快的拷贝方法,并为大家展现出来原因。小伙伴们使用的时候可以自行挑选。更多Java学习指路:java数组

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容