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]
相关推荐
virus59457 小时前
悟空CRM mybatis-3.5.3-mapper.dtd错误解决方案
java·开发语言·mybatis
没差c8 小时前
springboot集成flyway
java·spring boot·后端
时艰.8 小时前
Java 并发编程之 CAS 与 Atomic 原子操作类
java·开发语言
编程彩机9 小时前
互联网大厂Java面试:从Java SE到大数据场景的技术深度解析
java·大数据·spring boot·面试·spark·java se·互联网大厂
笨蛋不要掉眼泪9 小时前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain
Yvonne爱编码9 小时前
JAVA数据结构 DAY3-List接口
java·开发语言·windows·python
像少年啦飞驰点、10 小时前
零基础入门 Spring Boot:从“Hello World”到可上线微服务的完整学习指南
java·spring boot·微服务·编程入门·后端开发
眼眸流转10 小时前
Java代码变更影响分析(一)
java·开发语言
Yvonne爱编码10 小时前
JAVA数据结构 DAY4-ArrayList
java·开发语言·数据结构
阿猿收手吧!10 小时前
【C++】C++原子操作:compare_exchange_weak详解
java·jvm·c++