温馨提示×

java怎么取多个数组的交集

小亿
85
2023-12-26 23:21:48
栏目: 编程语言

在Java中,可以使用集合类的交集操作来取多个数组的交集。下面是一个例子:

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

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

        Set<Integer> set1 = new HashSet<>(Arrays.asList(Arrays.stream(arr1).boxed().toArray(Integer[]::new)));
        
        for (int i = 1; i < 3; i++) {
            Set<Integer> set2 = new HashSet<>(Arrays.asList(Arrays.stream(arr2).boxed().toArray(Integer[]::new)));
            set1.retainAll(set2);
        }

        System.out.println("交集结果:" + set1);
    }
}

上面的例子中,我们使用了HashSet类来创建一个临时的集合对象,然后使用Arrays.asList()方法将数组转换为集合,再使用retainAll()方法来取两个集合的交集。在循环中,我们先取第一个数组和第二个数组的交集,再将结果与第三个数组取交集,得到最终的交集结果。

输出结果为:交集结果:[5]

0