Java 合并两个数组的方法

在Java编程中,合并两个数组是一个常见的操作,尤其是在处理多个数据源时,以下是一些常用的方法来合并两个数组。
使用数组拷贝方法
Java提供了System.arraycopy()方法,可以方便地合并两个数组,这种方法适用于基本数据类型数组和对象数组。
示例代码:
public class ArrayMergeExample {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {6, 7, 8, 9, 10};
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);
// 打印合并后的数组
for (int i : mergedArray) {
System.out.print(i + " ");
}
}
}
使用ArrayList
对于对象数组或需要动态大小的数组,可以使用ArrayList来合并。

示例代码:
import java.util.ArrayList;
import java.util.Arrays;
public class ArrayMergeExample {
public static void main(String[] args) {
Integer[] array1 = {1, 2, 3, 4, 5};
Integer[] array2 = {6, 7, 8, 9, 10};
ArrayList<Integer> mergedList = new ArrayList<>(Arrays.asList(array1));
mergedList.addAll(Arrays.asList(array2));
// 打印合并后的数组
for (int i : mergedList) {
System.out.print(i + " ");
}
}
}
使用Java 8 Stream API
Java 8引入了Stream API,这使得合并数组变得更加简洁。
示例代码:
import java.util.Arrays;
import java.util.stream.Stream;
public class ArrayMergeExample {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {6, 7, 8, 9, 10};
int[] mergedArray = Stream.of(array1, array2).flatMapToInt(Arrays::stream).toArray();
// 打印合并后的数组
for (int i : mergedArray) {
System.out.print(i + " ");
}
}
}
使用数组连接方法
对于基本数据类型数组,可以使用Arrays.copyOf()方法来合并数组。
示例代码:
import java.util.Arrays;
public class ArrayMergeExample {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {6, 7, 8, 9, 10};
int[] mergedArray = Arrays.copyOf(array1, array1.length + array2.length);
// 将第二个数组的内容复制到合并后的数组
System.arraycopy(array2, 0, mergedArray, array1.length, array2.length);
// 打印合并后的数组
for (int i : mergedArray) {
System.out.print(i + " ");
}
}
}
合并两个数组是Java编程中的一个基础操作,有多种方法可以实现,选择哪种方法取决于具体的需求和数组类型,以上方法均能有效合并两个数组,你可以根据实际情况选择最合适的方法。


















