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]
相关推荐
豆沙沙包?3 分钟前
2025年--Lc170--H289. 生命游戏(矩阵)--Java版
java·游戏·矩阵
冬夜戏雪9 分钟前
[学习日记][springboot 1-7][leetcode 6道]
java·开发语言·学习
讓丄帝愛伱11 分钟前
idea 中 mapper.xml黄线警告怎么去掉
java·intellij-idea
桦说编程21 分钟前
线程池拒绝策略避坑:谨慎使用抛弃策略,可能导致系统卡死
java·后端
奋斗的小monkey21 分钟前
Java微服务实战:从零搭建电商用户服务系统
java·spring boot·微服务·nacos·电商系统·redis缓存
菜鸟plus+23 分钟前
URL 设计
java
星秀日27 分钟前
框架--MyBatis
java·开发语言·mybatis
没有bug.的程序员37 分钟前
分布式缓存架构:从原理到生产实践
java·分布式·缓存·架构·分布式缓存架构
_hermit:40 分钟前
【从零开始java学习|第二十二篇】集合进阶之collection
java·学习
锥栗43 分钟前
【Redis】【缓存】理解缓存三大问题:缓存穿透、缓存击穿与缓存雪崩及解决方案
java·后端·面试