java 數組的復制


java數組的復制分為數組地址的復制和值的復制

地址的復制:

int []arrA={11,22,33,44};
        //創建一個數組
        int [] arrB=new int[5];
        System.out.println("拷貝地址(引用)之前");
        System.out.println("arrA="+arrA);
        System.out.println("arrB="+arrB);
        
        
        //引用的拷貝
        arrB=arrA;
        System.out.println("拷貝地址(引用)之后 ");
        System.out.println("arrA="+arrA);
        System.out.println("arrB="+arrB);

 

 

值的復制:

int [] arrA={11,22,33,44};
        int [] arrB=new int[5];
        //復制
        /*arrB[0]=arrA[0];
        arrB[1]=arrA[1];
        arrB[2]=arrA[2];
        arrB[3]=arrA[3];*/
        System.out.println("賦值之前");
        for(int i=0;i<arrB.length;i++){
            System.out.print(arrB[i]+"\t");
        }
        //兩個數組的長度的最小值
        int length=Math.min(arrA.length, arrB.length);
        for(int i=0;i<length;i++){
            arrB[i]=arrA[i];
        }
        //遍歷arrB數組
        System.out.println("\n賦值之后");
        for(int i=0;i<arrB.length;i++){
            System.out.print(arrB[i]+"\t");
        }

 

 

System類中的 arraycopy(…)方法 

        int [] arrA={11,22,33,44};//源數組
        int [] arrB=new int[5];//目標數組
        
        System.out.println("數組拷貝之前");
        for(int num:arrB){
            System.out.print(num+"\t");
        }
        //拷貝
        System.arraycopy(arrA, 0, arrB, 1, 2);  //從arrA從下標0開始拷貝,拷貝給arrB從下標1開始,拷貝的長度為2 arrB的元素為[0,11,22,0,0]
        
        System.out.println("\n數組拷貝之后");
        for(int num:arrB){
            System.out.print(num+"\t");
        }            

 

 


免責聲明!

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



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