Five ways to copy an array of Java

There are several ways can copy an array to another array in Java.

1. Copy cycle

In the copy process cycle, only you need to use i, move the pointer to copy all of the array to the arrayB.

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

2.clone

This method is very easy to copy, need only declare a variable array, then use array.clone () can be copied to another array.

int[] arrayB = arrayA.clone();

3.copyOf

(Original array, length copies)

Arrays.copyOf(arrayA,arrayA.legnth);

4.copyOfRange

(Original array, starting position, length copies)

Arrays.copyOfRange(arrayA,0,arrayA);

5.arraycopy

(Original array, the original array start position, the target array, the start position of the target array, the length copies)

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

Total code:

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



    }




}

References:

ava - copies an array of several ways

Guess you like

Origin www.cnblogs.com/zhichun/p/12078122.html