JAVA 2个集合差集交集

java 复制代码
        // 创建第一个集合
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);

        // 创建第二个集合
        List<Integer> list2 = new ArrayList<>();
        list2.add(2);
        list2.add(4);
        list2.add(5);

        // 将第一个集合转换为 HashSet
        Set<Integer> set1 = new HashSet<>(list1);

        // 将第二个集合转换为 HashSet
        Set<Integer> set2 = new HashSet<>(list2);

//         计算差集并输出结果
        set1.removeAll(set2);
        System.out.println("1相对于2差集为:" + set1);

结果:

1相对于2差集为:[1, 3]

而2相对于1差集为:

java 复制代码
        // 创建第一个集合
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);

        // 创建第二个集合
        List<Integer> list2 = new ArrayList<>();
        list2.add(2);
        list2.add(4);
        list2.add(5);

        // 将第一个集合转换为 HashSet
        Set<Integer> set1 = new HashSet<>(list1);

        // 将第二个集合转换为 HashSet
        Set<Integer> set2 = new HashSet<>(list2);

//         计算差集并输出结果
//        set1.removeAll(set2);
//        System.out.println("1相对于2差集为:" + set1);

        set2.removeAll(set1);
        System.out.println("2相对于1差集为:" + set2);

2相对于1差集为:[4, 5]

而交集则如下代码:

java 复制代码
    public static void main(String[] args) {

        // 创建第一个集合
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);

        // 创建第二个集合
        List<Integer> list2 = new ArrayList<>();
        list2.add(2);
        list2.add(4);
        list2.add(5);

        // 将第一个集合转换为 HashSet
        Set<Integer> set1 = new HashSet<>(list1);

        // 将第二个集合转换为 HashSet
        Set<Integer> set2 = new HashSet<>(list2);

//         计算差集并输出结果
//        set1.removeAll(set2);
//        System.out.println("1相对于2差集为:" + set1);

//        set2.removeAll(set1);
//        System.out.println("2相对于1差集为:" + set2);

        Set<Integer> set3 = new HashSet<>(list1);
        set3.retainAll(set2);
        System.out.println("1和2交集为:" + set3);
    }

结果:

java 复制代码
1和2交集为:[2]
相关推荐
九月十九19 分钟前
AviatorScript用法
java·服务器·前端
翻晒时光27 分钟前
深入解析Java集合框架:春招面试要点
java·开发语言·面试
sin220138 分钟前
MyBatis-Plus的插件
java·mybatis
小丁爱养花1 小时前
Spring MVC:综合练习 - 深刻理解前后端交互过程
java·spring·mvc
五行星辰1 小时前
Java 生成 PDF 文档 如此简单
java·pdf·maven
菜鸟阿康学习编程2 小时前
JavaWeb 学习笔记 XML 和 Json 篇 | 020
xml·java·前端
是小崔啊2 小时前
Spring源码05 - AOP深入代理的创建
java·spring
等一场春雨2 小时前
Java设计模式 八 适配器模式 (Adapter Pattern)
java·设计模式·适配器模式
一弓虽2 小时前
java基础学习——jdbc基础知识详细介绍
java·学习·jdbc·连接池
王磊鑫2 小时前
Java入门笔记(1)
java·开发语言·笔记