java怎么求多个数组之间的交集

207
2024/2/8 14:50:22
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

可以使用HashSet来求多个数组之间的交集。具体步骤如下:

  1. 将第一个数组转换为HashSet。
  2. 遍历其他数组,将其中的元素添加到第一个数组的HashSet中。
  3. 最后HashSet中就是所有数组的交集。

下面是一个示例代码:

import java.util.*;

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> set = new HashSet<>();
        for (int num : arr1) {
            set.add(num);
        }
        
        for (int i = 1; i < 3; i++) {
            Set<Integer> tempSet = new HashSet<>();
            for (int num : set) {
                if (contains(arr2, num) && contains(arr3, num)) {
                    tempSet.add(num);
                }
            }
            set = tempSet;
        }
        
        System.out.println("Intersection of arrays: " + set);
    }
    
    public static boolean contains(int[] arr, int num) {
        for (int i : arr) {
            if (i == num) {
                return true;
            }
        }
        return false;
    }
}

注意:这段代码中使用了一个contains方法来判断一个数组中是否包含某个元素,这样可以方便地判断元素是否在所有数组中出现。

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

推荐阅读: java中怎么用swing组件窗口