Java数组求交集的实现

一、流程图

下面的流程图展示了实现Java数组求交集的步骤和流程:

pie
    title 数组求交集的实现流程
    "输入两个数组" : 45
    "数组去重" : 30
    "遍历数组1" : 25
    "在数组2中查找相同元素" : 15
    "将相同元素添加到结果数组" : 10
    "返回结果数组" : 5

二、具体步骤

1. 输入两个数组

首先,我们需要输入两个数组,分别命名为array1array2。这两个数组可以通过用户输入、读取文件或者其他方式获取。在Java中,我们可以使用以下代码来定义和初始化这两个数组:

int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {4, 5, 6, 7, 8};

2. 数组去重

由于交集是指两个数组中相同的元素,为了避免重复计算,我们需要将两个数组中的元素去重。可以使用HashSet来实现数组去重,代码如下:

Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();

for (int num : array1) {
    set1.add(num);
}

for (int num : array2) {
    set2.add(num);
}

3. 遍历数组1

接下来,我们需要遍历数组1,判断每个元素是否存在于数组2中。我们可以使用增强的for循环来遍历数组1,并使用contains方法来判断元素是否存在于数组2中。代码如下:

List<Integer> resultList = new ArrayList<>();

for (int num : set1) {
    if (set2.contains(num)) {
        resultList.add(num);
    }
}

4. 在数组2中查找相同元素

在遍历数组1的过程中,我们需要在数组2中查找是否存在相同的元素。可以使用contains方法来判断数组2中是否包含该元素。

5. 将相同元素添加到结果数组

如果数组2中存在与数组1中的元素相同的元素,我们将其添加到结果数组中。在Java中,我们可以使用add方法将元素添加到ArrayList中。

6. 返回结果数组

最后,我们将结果数组返回给调用者,以便进一步处理或输出结果。

三、完整代码示例

下面是完整的Java代码示例,实现了数组求交集的功能:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

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

        Set<Integer> set1 = new HashSet<>();
        Set<Integer> set2 = new HashSet<>();

        for (int num : array1) {
            set1.add(num);
        }

        for (int num : array2) {
            set2.add(num);
        }

        List<Integer> resultList = new ArrayList<>();

        for (int num : set1) {
            if (set2.contains(num)) {
                resultList.add(num);
            }
        }

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

运行以上代码,输出结果为:

交集结果为:[4, 5]

以上就是实现Java数组求交集的全部步骤和代码。通过以上步骤,我们可以轻松地获得数组的交集。希望这篇文章能够对你有所帮助!