Java给两个数组合并
时间: 2024-10-09 15:02:02 浏览: 41
在Java中,合并两个数组通常可以有多种方法,具体取决于这两个数组的元素类型以及是否允许改变原数组。以下是几种常见的合并数组的方式:
1. 数组连接 (Concatenation) - 如果不需要保留原始数组,可以直接使用`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);
```
2. 使用ArrayList - 如果需要动态扩容且不想改变原数组,可以使用`ArrayList`,它能方便地合并两个列表。
```java
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(4, 5, 6);
List<Integer> mergedList = new ArrayList<>(list1);
mergedList.addAll(list2);
```
3. 内存效率高的方法 - 如果两个数组类型一致且长度较小,可以考虑直接修改其中一个数组,把第二个数组的数据追加到第一个数组的末尾。但这通常只适用于临时操作,因为会改变原数组。
无论哪种方法,最后都会得到一个新的数组或列表,其中包含了两个输入数组的所有元素。如果需要返回新的数组而不影响原数组,第一种方法是最安全的选择。
阅读全文