java多個(gè)數(shù)組如何合并

小億
86
2024-09-03 18:11:50
欄目: 編程語言

在Java中,可以使用System.arraycopy()方法或者使用Java 8的流(Stream)API來合并多個(gè)數(shù)組。下面是兩種方法的示例:

  1. 使用System.arraycopy()方法:
import java.util.Arrays;

public class ArrayMerge {
    public static void main(String[] args) {
        int[] array1 = {1, 2, 3};
        int[] array2 = {4, 5, 6};
        int[] array3 = {7, 8, 9};

        int[] mergedArray = mergeArrays(array1, array2, array3);
        System.out.println("Merged array: " + Arrays.toString(mergedArray));
    }

    public static int[] mergeArrays(int[]... arrays) {
        int totalLength = 0;
        for (int[] array : arrays) {
            totalLength += array.length;
        }

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

        for (int[] array : arrays) {
            System.arraycopy(array, 0, mergedArray, index, array.length);
            index += array.length;
        }

        return mergedArray;
    }
}
  1. 使用Java 8的流(Stream)API:
import java.util.Arrays;
import java.util.stream.IntStream;

public class ArrayMerge {
    public static void main(String[] args) {
        int[] array1 = {1, 2, 3};
        int[] array2 = {4, 5, 6};
        int[] array3 = {7, 8, 9};

        int[] mergedArray = mergeArrays(array1, array2, array3);
        System.out.println("Merged array: " + Arrays.toString(mergedArray));
    }

    public static int[] mergeArrays(int[]... arrays) {
        return IntStream.of(arrays).flatMap(IntStream::of).toArray();
    }
}

這兩種方法都可以將多個(gè)數(shù)組合并成一個(gè)新的數(shù)組。第一種方法使用System.arraycopy()方法逐個(gè)復(fù)制數(shù)組元素,而第二種方法使用Java 8的流(Stream)API來實(shí)現(xiàn)合并。

0