java如何拼接数组
拼接数组的方法
在Java中,拼接数组可以通过多种方式实现,以下是几种常见的方法:
使用System.arraycopy方法
System.arraycopy方法可以高效地将一个数组的内容复制到另一个数组中。通过创建新数组,并将原数组内容复制到新数组,可以实现拼接。

int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] result = new int[array1.length + array2.length];
System.arraycopy(array1, 0, result, 0, array1.length);
System.arraycopy(array2, 0, result, array1.length, array2.length);
使用Arrays.copyOf方法
Arrays.copyOf方法可以创建一个新数组,并复制原数组内容。结合System.arraycopy,可以拼接多个数组。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] result = Arrays.copyOf(array1, array1.length + array2.length);
System.arraycopy(array2, 0, result, array1.length, array2.length);
使用Stream API(Java 8及以上)
Stream API提供了一种简洁的方式来拼接数组,通过将数组转换为流,合并后再转换为数组。

int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] result = IntStream.concat(IntStream.of(array1), IntStream.of(array2)).toArray();
使用List的addAll方法
对于对象数组或需要动态操作的情况,可以先将数组转换为List,拼接后再转换回数组。
String[] array1 = {"a", "b", "c"};
String[] array2 = {"d", "e", "f"};
List<String> list = new ArrayList<>(Arrays.asList(array1));
list.addAll(Arrays.asList(array2));
String[] result = list.toArray(new String[0]);
使用Apache Commons Lang库
如果项目中使用了Apache Commons Lang库,可以使用ArrayUtils.addAll方法快速拼接数组。
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] result = ArrayUtils.addAll(array1, array2);
注意事项
- 对于基本类型数组(如int[]、double[]),Stream API和List方法需要额外处理。
- 拼接后的数组长度应为原数组长度之和,确保不越界。
- 对于大型数组,System.arraycopy方法性能较好。






