溫馨提示×

java怎么求多個數(shù)組之間的交集

小億
85
2024-03-07 14:50:22
欄目: 編程語言

可以使用HashSet來求多個數(shù)組之間的交集。具體步驟如下:

  1. 將第一個數(shù)組轉(zhuǎn)換為HashSet。
  2. 遍歷其他數(shù)組,將其中的元素添加到第一個數(shù)組的HashSet中。
  3. 最后HashSet中就是所有數(shù)組的交集。

下面是一個示例代碼:

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方法來判斷一個數(shù)組中是否包含某個元素,這樣可以方便地判斷元素是否在所有數(shù)組中出現(xiàn)。

0