将数组复制到较大数组

时间:2017-03-22 09:22:57

标签: java

我想将一个数组复制到一个更大的数组中,但是不是从第一个元素或指定的元素开始,比如System.arraycopy(),我希望它从最后一个元素开始并向后移动。

int [] ary1 = new int[5] {1,2,3,4,5};
int [] ary2 = new int [10];

我希望ary2中的元素等于

0,0,0,0,0,1,2,3,4,5

null,null,null,null,null,1,2,3,4,5

2 个答案:

答案 0 :(得分:2)

您可以使用方法System.arrayCopy()来实现此目的。由于您使用的是原始int类型的数组,因此生成的数组将为[0, 0, 0, 0, 0, 1, 2, 3, 4, 5]

System.arraycopy(ary1, 0, ary2, 5, ary1.length);

参数是:

  1. 源阵列
  2. 源数组中的起始位置
  3. 目标阵列
  4. 目标数组中的起始位置
  5. 要复制的元素数量

答案 1 :(得分:0)

This will work 
int [] ary1 = {1,2,3,4,5};
    int [] ary2 = new int [10];
    int y = ary2.length-1;
    for (int i = ary1.length-1; i >=0; i--) {
        ary2[y]=ary1[i];
        y--;
    }