0
点赞
收藏
分享

微信扫一扫

java 2个数据找出相同的

如何在Java中找出两个相同的数据

1. 流程图

graph TD
A[开始] --> B(获取两个数据列表)
B --> C(遍历第一个数据列表)
C --> D{是否包含当前元素}
D --> |是| E(添加当前元素至结果列表)
D --> |否| F(继续遍历下一个元素)
F --> G(输出结果列表)
G --> H[结束]

2. 代码实现

首先,我们需要定义一个方法来查找两个数据列表中相同的元素:

public List<Integer> findDuplicates(List<Integer> list1, List<Integer> list2) {
    List<Integer> duplicates = new ArrayList<>(); // 用于存储相同的元素
    for (Integer num : list1) { // 遍历第一个数据列表
        if (list2.contains(num)) { // 判断第二个数据列表中是否包含当前元素
            duplicates.add(num); // 如果包含,则将当前元素添加到结果列表中
        }
    }
    return duplicates; // 返回结果列表
}

3. 示例代码

public class Main {
    public static void main(String[] args) {
        List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
        List<Integer> list2 = Arrays.asList(4, 5, 6, 7, 8);
        
        List<Integer> duplicates = findDuplicates(list1, list2);
        
        System.out.println("相同的元素为:" + duplicates);
    }
    
    public static List<Integer> findDuplicates(List<Integer> list1, List<Integer> list2) {
        List<Integer> duplicates = new ArrayList<>(); // 用于存储相同的元素
        for (Integer num : list1) { // 遍历第一个数据列表
            if (list2.contains(num)) { // 判断第二个数据列表中是否包含当前元素
                duplicates.add(num); // 如果包含,则将当前元素添加到结果列表中
            }
        }
        return duplicates; // 返回结果列表
    }
}

4. 类图

classDiagram
    Main <|-- ListUtils

5. 状态图

stateDiagram
    state 开始
    state 结束
    
    开始 --> 获取数据列表
    获取数据列表 --> 遍历第一个数据列表
    遍历第一个数据列表 --> 是否包含当前元素
    是否包含当前元素 --> 是: 添加当前元素至结果列表
    是否包含当前元素 --> 否: 继续遍历下一个元素
    继续遍历下一个元素 --> 输出结果列表
    输出结果列表 --> 结束

总结

通过以上步骤,我们可以找出两个相同的数据。首先,我们获取两个数据列表,并遍历第一个数据列表。对于每个元素,我们判断第二个数据列表中是否包含它,并将包含的元素添加到结果列表。最后,我们输出结果列表。这个方法的时间复杂度是O(n*m),其中n是第一个数据列表的大小,m是第二个数据列表的大小。

举报

相关推荐

0 条评论