1. 复制数组
方法:
System.arraycopy(src, srcPos, dest, destPos, length)
System.arraycopy(src, srcPos, dest, destPos, length)
//src: 源数组
//srcPos: 从源数组复制数据的启始位置
//dest: 目标数组
//destPos: 复制到目标数组的启始位置
//length: 复制的长度
System.arraycopy(a, 0, b, 0, 3);
示例:
public class TestArray {
public static void printArray(int[] arr) {
for (int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void main(String[] args) {
int[] arr = new int[] {1,2,3,4,5};
int[] arrCopy = new int[10];
System.arraycopy(arr, 0, arrCopy, 3, 5);
printArray(arrCopy);
}
}
效果:
0
0
0
1
2
3
4
5
0
0
2. 合并数组
可以通过 arraycopy
来合并数组到新的数组中:
int[] a=new int[length1];
int[] b=new int[length2];
int[] c=new int[a.length+b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
示例:
public class TestArray {
public static void printArray(int[] arr) {
for (int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void main(String[] args) {
int[] arrA = new int[] {1,2,3,4,5};
int[] arrB = new int[] {6,7,8,9,10};
int[] combine = new int[arrA.length + arrB.length];
System.arraycopy(arrA, 0, combine, 0, arrA.length);
System.arraycopy(arrB, 0, combine, arrA.length, arrB.length);
printArray(combine);
}
}
效果:
1
2
3
4
5
6
7
8
9
10