Javaの配列をコピーする5つの方法

Javaで別の配列に配列をコピーすることができますいくつかの方法があります。

1.コピーサイクル

コピー処理サイクルでは、唯一のあなたは、私を使用arrayBに、配列のすべてをコピーするには、ポインタを移動する必要があります。

for(int i=0;i<arrayA.length;i++)
{
    arrayB[i] = arrayA[i];
}

2.clone

この方法は非常に簡単にコピーすることです、必要が唯一の変数の配列を宣言し、その後、array.clone()を使用し、別の配列にコピーすることができます。

int[] arrayB = arrayA.clone();

3.copyOf

(元の配列、長コピー)

Arrays.copyOf(arrayA,arrayA.legnth);

4.copyOfRange

(元の配列、開始位置、長コピー)

Arrays.copyOfRange(arrayA,0,arrayA);

5.arraycopy

(元の配列、元の配列の開始位置、標的配列、標的配列の開始位置、長コピー)

System.arraycopy(arrayA,0,arrayB,0,arrayA.length);

合計コード:

import java.util.Arrays;

public class copyArray {
    public static void main(String[] args)
    {
        int[] arrayA = {2,4,6,7,10};
        int[] arrayB = new int[arrayA.length+1];
        copy(arrayA,arrayB);
    }

    public static void copy(int[] arrayA,int[] arrayB)
    {
        //第一种:循环拷贝
        for(int i=0;i<arrayA.length;i++)
        {
            arrayB[i] = arrayA[i];
        }

        System.out.println(Arrays.toString(arrayB));

        //浅拷贝
        //第二种:parameters:开始数组,起始复制位置;目的数组,目的复制位置;复制的长度。
        System.arraycopy(arrayA,0,arrayB,0,arrayA.length);
        System.out.println(Arrays.toString(arrayB));
        //浅拷贝
        //第三种:原始数组,拷贝长度;
        arrayB = Arrays.copyOf(arrayA,arrayA.length);
        System.out.println(Arrays.toString(arrayB));
        //第四种:
        arrayB = Arrays.copyOfRange(arrayA,0,arrayA.length);
        System.out.println(Arrays.toString(arrayB));
        //第五种:

        arrayB = arrayA.clone();
        System.out.println(Arrays.toString(arrayB));



    }




}

参考文献:

AVA - コピーいくつかの方法の配列

おすすめ

転載: www.cnblogs.com/zhichun/p/12078122.html