java里两个数组怎么获取并集

Java 中获取两个数组的并集可通过以下步骤实现:1. 合并两个数组;2. 使用 Set 去重;3. 转换为数组。示例代码:使用 Arrays.copyOf() 合并数组,Set.add() 去重,并通过 stream().mapToInt(Integer::intValue).toArray() 将 Set 转换为数组。

Java 中获取数组并集

问题:如何获取 Java 中两个数组的并集?

解答:

Java 中获取数组并集可以

通过以下步骤实现:

  1. 合并两个数组:使用 Arrays.copyOf() 方法将两个数组合并成一个新的数组。
  2. 去重:对合并后的数组使用 Set.add() 方法去重,将重复元素排除。
  3. 转换为数组:将去重后的 Set 转换为数组,返回并集。

示例代码:

import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;

public class ArrayUnion {

    public static int[] union(int[] arr1, int[] arr2) {
        // 合并数组
        int[] mergedArray = Arrays.copyOf(arr1, arr1.length + arr2.length);

        for (int i = 0; i < arr2.length; i++) {
            mergedArray[arr1.length + i] = arr2[i];
        }

        // 去重
        Set uniqueElements = new HashSet<>();

        for (int num : mergedArray) {
            uniqueElements.add(num);
        }

        // 转换为数组
        return uniqueElements.stream().mapToInt(Integer::intValue).toArray();
    }

    public static void main(String[] args) {
        int[] arr1 = {1, 2, 3, 4, 5};
        int[] arr2 = {3, 4, 5, 6, 7};

        int[] result = union(arr1, arr2);
        System.out.println(Arrays.toString(result)); // 输出: [1, 2, 3, 4, 5, 6, 7]
    }
}