欢迎访问宙启技术站
智能推送

利用Java函数实现数组合并的方法有哪些?

发布时间:2023-06-02 16:30:35

在Java中,有多种方法可以合并两个或多个数组。下面列举了一些常用方法。

1. 使用System.arraycopy()方法

该方法使用System类的arraycopy()静态方法将一个数组的元素复制到另一个数组中。可以使用该方法将两个数组合并成一个数组。

例如,以下代码将两个整型数组合并成一个整型数组:

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = new int[arr1.length + arr2.length];
System.arraycopy(arr1, 0, result, 0, arr1.length);
System.arraycopy(arr2, 0, result, arr1.length, arr2.length);

2. 使用Arrays类的copyOf()方法

该方法可以从一个数组中创建一个新的数组。可以使用该方法将两个数组合并成一个数组。

例如,以下代码将两个整型数组合并成一个整型数组:

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = Arrays.copyOf(arr1, arr1.length + arr2.length);
System.arraycopy(arr2, 0, result, arr1.length, arr2.length);

3. 使用Arrays类的copyOfRange()方法

该方法将一个数组的一部分复制到另一个数组中。可以使用该方法将两个数组合并成一个数组。

例如,以下代码将两个整型数组合并成一个整型数组:

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = Arrays.copyOfRange(arr1, 0, arr1.length + arr2.length);
System.arraycopy(arr2, 0, result, arr1.length, arr2.length);

4. 使用ArrayList类的addAll()方法

该方法将一个集合中的所有元素添加到另一个集合中。可以使用该方法将两个数组合并成一个数组。

例如,以下代码将两个整型数组合并成一个整型数组:

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
List<Integer> list = new ArrayList<>();
for (int i : arr1) {
    list.add(i);
}
for (int i : arr2) {
    list.add(i);
}
int[] result = list.toArray(new int[0]);

5. 使用Stream API的concat()方法

该方法使用Stream API的concat()方法将两个数组合并成一个数组。

例如,以下代码将两个整型数组合并成一个整型数组:

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = IntStream.concat(Arrays.stream(arr1), Arrays.stream(arr2)).toArray();

6. 使用Stream API的flatMapToInt()方法

该方法使用Stream API的flatMapToInt()方法将两个数组合并成一个数组。

例如,以下代码将两个整型数组合并成一个整型数组:

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = Stream.of(arr1, arr2).flatMapToInt(Arrays::stream).toArray();

总结

以上是在Java中合并数组的一些常用方法。每种方法都有其优缺点,选择哪种方法取决于具体需求和应用场景。无论选择哪种方法,都需要注意数组的长度、数据类型和边界条件超出的情况。