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和System.arraycopy
结合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+)
利用Stream可以更简洁地合并数组,适合现代Java版本。

int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = IntStream.concat(
Arrays.stream(array1),
Arrays.stream(array2)
).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];
}
使用Apache Commons Lang库
如果项目中已经引入了Apache Commons Lang库,可以使用其提供的工具类。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = ArrayUtils.addAll(array1, array2);
选择合适的方法
- 性能优先:System.arraycopy是最快的方式。
- 代码简洁:Stream API或Apache Commons Lang库更简洁。
- 灵活性:手动遍历适合需要特殊处理的场景。
根据具体需求和项目环境选择最适合的方法。






