码迷,mamicode.com
首页 > 编程语言 > 详细

java 数组的复制

时间:2019-06-15 11:39:28      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:ali   一个   赋值   size   开始   image   inf   font   ++   

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

 

技术图片

 

java 数组的复制

标签:ali   一个   赋值   size   开始   image   inf   font   ++   

原文地址:https://www.cnblogs.com/eyjdbk/p/11026802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!