java数组如何合并
合并Java数组的几种方法
在Java中合并数组可以通过多种方式实现,以下是几种常见的方法:
使用System.arraycopy方法
System.arraycopy是Java提供的一个高效数组复制方法,可以将一个数组的内容复制到另一个数组中。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = new int[array1.length + array2.length];
System.arraycopy(array1, 0, mergedArray, 0, array1.length);
System.arraycopy(array2, 0, mergedArray, array1.length, array2.length);
使用Arrays.copyOf方法
Arrays.copyOf方法可以创建一个新数组,并将原数组的内容复制到新数组中。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = Arrays.copyOf(array1, array1.length + array2.length);
System.arraycopy(array2, 0, mergedArray, array1.length, array2.length);
使用Stream API(Java 8及以上)
Java 8引入了Stream API,可以更简洁地合并数组。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = IntStream.concat(Arrays.stream(array1), Arrays.stream(array2)).toArray();
使用ArrayList
通过ArrayList可以动态地添加元素,最后再转换为数组。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
List<Integer> list = new ArrayList<>();
for (int num : array1) {
list.add(num);
}
for (int num : array2) {
list.add(num);
}
int[] mergedArray = list.stream().mapToInt(i -> i).toArray();
手动合并
手动合并数组是最基础的方法,通过循环遍历数组并逐个复制元素。

int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = new int[array1.length + array2.length];
for (int i = 0; i < array1.length; i++) {
mergedArray[i] = array1[i];
}
for (int i = 0; i < array2.length; i++) {
mergedArray[array1.length + i] = array2[i];
}
以上方法适用于不同类型的数组合并,根据具体需求选择合适的方法。System.arraycopy和Arrays.copyOf方法在性能上通常更优,而Stream API提供了更简洁的语法。






