java數組的拷貝四種方法:for、clone、System.arraycopy、arrays.copyof


public class ArrayCopy{
    public static void main(String []args){
    int []a = {1,3,4,5};

    toPrint(a);
    int []aFor=new int[a.length];
    //1.for循環復制
    System.out.println("===========1.使用for復制");
    for(int i=0;i<a.length;i++){
        aFor[i]=a[i];
    }
    aFor[2]=10;//改變aFor中的值原數組中的值不變
    System.out.print("數組a:");
    toPrint(a);
    System.out.print("數組aFor:");
    toPrint(aFor);
    //**2.使用System.arraycopy(src,srcpos,dest,destpos,length);
    System.out.println("===========2.使用System.arraycopy復制\n把aFor復制給a:");
    System.arraycopy(aFor,0,a,0,a.length);
    aFor[1]=9;//改變aFor中值
    toPrint(a);
    toPrint(aFor);
    //3.使用clone復制
    System.out.println("===========3.使用clone把aFor的值復制給a");
    a=(int[])aFor.clone();
    aFor[0]=8;
    toPrint(a);
    toPrint(aFor);
    //4.使用Arrays類的copyOf和copyOfRange實現對數組復制
    System.out.println("===========4.使用Arrays.copyOf/把aFor的值復制給a");
    a=java.util.Arrays.copyOf(aFor,aFor.length+1);
    aFor[3]=11;
    toPrint(a);
    toPrint(aFor);
    
    }
    static void toPrint(int[] a){
    for(int aa:a){
        System.out.print(" "+aa);
    }
    System.out.println();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM