java二维数组拷贝效率比较

java二维数组拷贝效率比较,第1张

java二维数组拷贝效率比较

在使用数组的时候,一般而言拷贝其它的数组,比直接自己新建一个数组要快得多。这也是拷贝在数组中频繁使用的原因,这里介绍几种拷贝数组的方法:for循环、clone()和Arrays.arraycopy。至于哪种方法能够最快的拷贝数组,还需要在下面的学习中寻找答案,一起来看如下内容。

1.for循环

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()

public static void copy3(int[][] sourceArr, int[][] destArr) {
    for (int i = 0; i < sourceArr.length; i++) {
        destArr[i] = sourceArr[i].clone();
    }
}

3.Arrays.arraycopy

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的源代码,这种方法拷贝速度最快,没有返回值。

@HotSpotIntrinsicCandidate
public static native void arraycopy(Object src,  int  srcPos,
                                    Object dest, int destPos,
                                    int length);

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/3017432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存