数组拷贝问题的解决方法

public class Test{
    //调用 System 类中的 arraycopy 方法
    //使用方式: System.arraycopy(fromArray,fromIndex,toArray,toIndex,length);
    //fromIndex 指定从数组的哪里开始复制,
    //toIndex   指定复制到目标数组的哪里
    //length    复制长度
    //使用注意目标数组必须有足够的空间
    public void cal(){
        int[] array1={1,2,3,4,5,6};
        int[] array2={10,20,30,40,50,60,70,80,90};
        System.arraycopy(array1,0,array2,2,array1.length);
        System.out.print("array2 is : ");
        for(int i : array2)
        System.out.print(i+" ");
        System.out.println();
    }
    //使用arraycopy 把一个数组赋值到另一个数组的尾部
    public void cal2(){
        int[] array1={1,2,3,4,5,6,7,8,9,10};
        int[] array2=new int[20];
        for(int i=0;i<10;i++){
            array2[i]=i*10;
        }
        System.arraycopy(array1,0,array2,10,array1.length);
        System.out.print("array2 is: ");
        for(int i : array2)
        System.out.print(i+" ");
    }
    public static void main(String args[]){
        new Test().cal();
        new Test().cal2();
    }
}
    /*
    C:\>java Test
    array2 is : 10 20 1 2 3 4 5 6 90
    array2 is: 0 10 20 30 40 50 60 70 80 90 1 2 3 4 5 6 7 8 9 10
    */

 

posted @ 2013-03-16 14:44  LaoQuans  阅读(186)  评论(0编辑  收藏  举报