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

/**

 * 使用数组本身的 clone() 方法

 *

 * @param sourceArr 源数组

 * @param destArr   目标数组

 */

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数组

(本教程操作环境:windows7系统、java10版,DELL G3电脑。)

以上是 java二维数组拷贝效率比较 的全部内容, 来源链接: utcz.com/z/542872.html

回到顶部