例题:合并int[] arr1 = {1,2,3,4,5,6}; int[] arr2 = {7,8,9};两个数组
方式1:使用System.arraycopy合并数组
方式2:创建保存结果的目标数组
方式3:一个循环进行两个数组的合并
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
//合并数组
int[] arr1 = {1,2,3,4,5,6};
int[] arr2 = {7,8,9};
//方式1:
int[] rets1 = new int[arr1.length + arr2.length];
System.arraycopy(arr1, 0, rets1, 0, arr1.length);
System.arraycopy(arr2, 0, rets1, arr1.length, arr2.length);
System.out.println(Arrays.toString(rets1));
//方式2:
//创建保存结果的目标数组
int[] rets2 = new int[arr1.length + arr2.length];
int index1 = 0;//保存下标
//复制arr1数组===>rets2
for(int i = 0;i<arr1.length;i++) {
rets2[index1++] = arr1[i];
}
//复制arr1数组===>rets2
for(int i = 0;i<arr2.length;i++) {
rets2[index1++] = arr2[i];
}
System.out.println(Arrays.toString(rets2));
//方式3:一个循环进行两个数组的合并
int[] rets3 = new int[arr1.length + arr2.length];
for(int i = 0,k = 0,index2 = arr1.length;i<arr1.length ||k<arr2.length ;i++,k++,index2++ ) {
if(i<arr1.length) {
rets3[i] = arr1[i];
}
if(k<arr2.length) {
rets3[index2] = arr2[k];
}
}
System.out.println(Arrays.toString(rets3));
}
}
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]