zoukankan      html  css  js  c++  java
  • 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复制
    把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();
        }
    }
  • 相关阅读:
    SPOJ NDIV
    SPOJ ETF
    SPOJ DIVSUM
    头文件--持续更新
    SPOJ FRQPRIME
    SPOJ FUNPROB
    SPOJ HAMSTER1
    观光
    最短路计数
    拯救大兵瑞恩
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5601323.html
Copyright © 2011-2022 走看看