java怎么取多个数组的交集

1390
2024/1/18 23:21:48
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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]

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java在线工具怎么实现