System.arraycopy一共有5个参数:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* Object src:原数组
* int srcPos:从原数组的哪里(数组的地址,比如从第一数拷贝就写0,)开始拷贝
* Object dest:目标数组(被拷贝到哪)
* int destPos:从目标数组的哪里(同样填写数组元素中的地址)开始插入
* int length: 复制原数组中元素的个数,比如复制3个元素就写3
比如:
System.arraycopy(a, 0, c, 0, a.length):
是从a数组的第一数开始复制,复制到c数组中第一个数的位置,复制的元素个数为a数组的全部元素 ( a.length)
下面看例题:
1. 现在给出两个数组
* 数组A:1,7,9,11,13,15,17,19
* 数组B:2,4,6,8,10
* 编写一个方法实现将两个数组合并成一个新的数组c,并且按照升序排序

public static void main(String[] args) {
int[] a= {1,7,9,11,13,15,17,19};
		int[] b= {2,4,6,8,10};
		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);
		Arrays.sort(c);//给数组c进行升序拍序,Arrays.sort()是Arrays类的静态方法,可以直接拿来使用
		System.out.println(Arrays.toString(c));
 	}

}

运行结果:

更多推荐

System.arraycopy的使用(现在给出两个数组 ,数组A:1,7,9,11,13,15,17,19 ,数组B:2,4,6,8,10 ,请将两个数组合并