欢迎访问宙启技术站
智能推送

基于Java编写函数来查找两个数组的交集

发布时间:2023-08-31 20:54:38

在Java中,可以通过使用Set集合来查找两个数组的交集。以下是一个基于Java编写的函数来实现这一功能:

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

public class ArrayIntersection {
    public static int[] findIntersection(int[] arr1, int[] arr2) {
        // 创建一个Set集合用于存储交集元素
        Set<Integer> set = new HashSet<>();

        // 遍历arr1数组,将元素添加到set集合中
        for (int i = 0; i < arr1.length; i++) {
            set.add(arr1[i]);
        }

        // 创建一个List集合用于存储交集元素
        Set<Integer> intersection = new HashSet<>();

        // 遍历arr2数组,判断元素是否在set集合中,如果是则添加到intersection集合中
        for (int i = 0; i < arr2.length; i++) {
            if (set.contains(arr2[i])) {
                intersection.add(arr2[i]);
            }
        }

        // 将intersection集合转换为数组
        int[] result = new int[intersection.size()];
        int index = 0;
        for (int num : intersection) {
            result[index++] = num;
        }

        return result;
    }

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

        int[] intersection = findIntersection(arr1, arr2);

        for (int num : intersection) {
            System.out.print(num + " ");
        }
        // 输出结果:4 5
    }
}

上述代码中,我们首先创建一个HashSet集合set,用于存储arr1数组中的元素。然后,我们遍历arr2数组,判断元素是否在set集合中,如果是,则将其添加到另一个HashSet集合intersection中。最后,我们将intersection集合转换为数组并返回。

main函数中,我们定义了两个数组arr1arr2,并调用findIntersection函数来查找交集。最后,我们遍历交集数组并输出结果。

运行以上代码,输出结果为4 5,即arr1arr2数组的交集为45

这是一个基于Java编写的函数来查找两个数组的交集的实现。通过使用Set集合,我们可以高效地查找交集元素。