Java 连接合并两个数组(Array)的五种方法
在Java中,可以使用多种方法来合并两个数组。以下是五种常见的方法:
- 使用
System.arraycopy()
方法 - 使用
Arrays.copyOf()
方法 - 使用
ArrayList
- 使用
Stream
API (Java 8+) - 使用
Stream
的concat()
方法 (Java 9+)
以下是每种方法的示例代码:
import java.util.Arrays;
import java.util.stream.IntStream;
public class ArrayMergeExample {
// 方法1: 使用System.arraycopy()
public static int[] mergeUsingSystemArraycopy(int[] array1, int[] array2) {
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);
return result;
}
// 方法2: 使用Arrays.copyOf()
public static int[] mergeUsingArraysCopyOf(int[] array1, int[] array2) {
int[] result = Arrays.copyOf(array1, array1.length + array2.length);
System.arraycopy(array2, 0, result, array1.length, array2.length);
return result;
}
// 方法3: 使用ArrayList
public static int[] mergeUsingArrayList(int[] array1, int[] array2) {
ArrayList<Integer> list = new ArrayList<>();
for (int i : array1) {
list.add(i);
}
for (int i : array2) {
list.add(i);
}
int[] result = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
result[i] = list.get(i);
}
return result;
}
// 方法4: 使用Stream API
public static int[] mergeUsingStreamAPI(int[] array1, int[] array2) {
return IntStream.concat(Arrays.stream(array1), Arrays.stream(array2)).toArray();
}
// 方法5: 使用Stream的concat()方法
public static int[] mergeUsingStreamConcat(int[] array1, int[] array2) {
return IntStream.concat(IntStream.of(array1), IntStream.of(array2)).toArray();
}
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] result1 = mergeUsingSystemArraycopy(array1, array2);
int[] result2 = mergeUsingArraysCopyOf(array1, array2);
int[] result3 = mergeUsingArrayList(array1, array2);
int[] result4 = mergeUsingStreamAPI(array1, array2);
int[] result5 = mergeUsingStreamConcat(array1, array2);
// 输出结果验证
System.out.println(Arrays.toString(result1));
System.out.println(Arrays.toString(re
评论已关闭