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

使用Java中的Arrays函数来将两个数组合并

发布时间:2023-08-01 04:55:23

在Java中,可以使用Arrays类的两个方法来合并两个数组:一个是Arrays.copyOf()方法,另一个是System.arraycopy()方法。

首先,我们来学习Arrays.copyOf()方法。这个方法可以通过创建一个新的目标数组,将原始数组的所有元素复制到目标数组中,并返回目标数组。使用这个方法,我们可以将两个数组合并到一个新的数组中。

下面是一个使用Arrays.copyOf()方法将两个数组合并的示例代码:

import java.util.Arrays;

public class MergeArrays {
    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);

        System.out.println("Merged array: " + Arrays.toString(mergedArray));
    }
}

在这个示例中,我们首先创建了两个数组array1和array2,分别包含了数字1到5和数字6到10。然后,我们通过使用Arrays.copyOf()方法将array1复制到一个新的数组mergedArray中。我们还需要使用System.arraycopy()方法将array2复制到mergedArray中的array1的末尾。

最后,我们使用Arrays.toString()方法将合并后的数组打印出来。执行上述代码将产生以下输出:

Merged array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

接下来,我们来学习System.arraycopy()方法。这个方法可以通过复制源数组中的一部分元素到目标数组的指定位置,来实现数组合并。

下面是一个使用System.arraycopy()方法将两个数组合并的示例代码:

import java.util.Arrays;

public class MergeArrays {
    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);

        System.out.println("Merged array: " + Arrays.toString(mergedArray));
    }
}

在这个示例中,我们首先创建了两个数组array1和array2,分别包含了数字1到5和数字6到10。然后,我们创建了一个新的数组mergedArray来保存合并后的数组。

然后,我们使用System.arraycopy()方法从array1中复制元素到mergedArray,从索引0开始复制,复制的长度为array1的长度。接着,我们使用同样的方法从array2中复制元素到mergedArray,从array1的末尾位置开始复制,复制的长度为array2的长度。

最后,我们使用Arrays.toString()方法将合并后的数组打印出来。

执行上述代码将产生以下输出:

Merged array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

以上就是使用Java中的Arrays函数将两个数组合并的方法。无论你选择使用Arrays.copyOf()方法还是System.arraycopy()方法,都可以很容易地将两个数组合并成为一个数组。