Java判断两个List共有的数据

1. 整体流程

首先,我们需要将两个List中的数据进行比较,找出共有的数据。下面是整个流程的步骤表格:

步骤 操作
1 遍历第一个List,将其元素放入一个Set中
2 遍历第二个List,检查每个元素是否在Set中
3 如果存在于Set中,则表示是共有的数据

2. 代码实现

下面是每一步需要做的操作以及对应的代码:

步骤1:遍历第一个List,将其元素放入一个Set中

List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
Set<Integer> set = new HashSet<>(list1); // 创建一个HashSet对象,将list1的元素放入其中

步骤2:遍历第二个List,检查每个元素是否在Set中

List<Integer> list2 = Arrays.asList(3, 4, 5, 6, 7);
List<Integer> commonElements = new ArrayList<>(); // 创建一个存放共有元素的List

for (Integer num : list2) {
    if (set.contains(num)) {  // 判断num是否在set中
        commonElements.add(num); // 将共有的元素添加到commonElements中
    }
}

步骤3:输出共有的数据

System.out.println("共有的数据为:" + commonElements);

3. 类图

classDiagram
    List <|-- HashSet
    List <|-- ArrayList

4. 状态图

stateDiagram
    [*] --> 初始化
    初始化 --> 比较
    比较 --> 输出
    输出 --> [*]

通过上述步骤和代码示例,你可以实现Java中判断两个List共有的数据的功能。希望这篇文章对你有帮助,如果有任何疑问,欢迎随时向我提问。祝你学习顺利!