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

如何使用Java函数将多个数组合并成一个单独的数组?

发布时间:2023-07-20 19:58:21

在Java中,可以使用循环或者流来将多个数组合并为一个单独的数组。下面分别介绍两种方法。

方法一:使用循环

首先,需要确定合并后数组的长度。可以通过计算所有数组的长度之和得到。

int totalLength = 0;
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] array3 = {7, 8, 9};

totalLength += array1.length;
totalLength += array2.length;
totalLength += array3.length;

接下来,创建一个新的数组,并将原始数组的元素复制到新数组中。

int[] newArray = new int[totalLength];
int index = 0;

for (int i = 0; i < array1.length; i++) {
    newArray[index++] = array1[i];
}

for (int i = 0; i < array2.length; i++) {
    newArray[index++] = array2[i];
}

for (int i = 0; i < array3.length; i++) {
    newArray[index++] = array3[i];
}

现在,newArray中包含了原始数组的所有元素。

方法二:使用流

Java 8引入了流(Stream)的概念,可以使用流的concat方法将多个数组合并为一个流,然后使用toArray方法将流转换为数组。

int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] array3 = {7, 8, 9};

int[] newArray = IntStream.concat(
        IntStream.concat(Arrays.stream(array1), Arrays.stream(array2)),
        Arrays.stream(array3)
    )
    .toArray();

以上代码中,首先将array1和array2合并为一个流,然后再将流与array3合并为一个新的流。最后,通过toArray方法将流转换为数组。

使用上述两种方法,可以将多个数组合并为一个单独的数组。根据实际需求选择合适的方法。