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]
相关推荐
Full Stack Developme1 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
shushangyun_4 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习
她说..4 小时前
Java 默认值设置方式
java·开发语言·后端·springboot
学渣超5 小时前
记一次分布式事务数据不一致的排查之旅:从超时到索引,层层剥茧
java·后端·架构
掉鱼的猫5 小时前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·llm·aigc
带刺的坐椅5 小时前
Agent Harness 实战指南:构建生产级 AI Agent 的"马具"框架
java·ai·llm·agent·solon-ai
c238565 小时前
互斥锁高频面试题全解:从基础概念到底层实现,一文通关
java·c++·面试·职场和发展
error:(6 小时前
【系统与实战双精通】VS Code 调试 ROS2 Python 节点与 Launch 系统指南
android·java·python
Tian_Hang6 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
小蓝波7 小时前
docker 的命令
java·docker·容器