Java如何求交集、并集、差集

 更新时间:2023年11月01日 15:29:31   作者:鼠鼠我呀2  
这篇文章主要介绍了Java如何求交集、并集、差集问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java求交集、并集、差集

	public static void main(String[] args) {
        Set<Integer> set1 = new HashSet<>();
        Set<Integer> set2 = new HashSet<>();
        Set<Integer> set3 = new HashSet<>();
        // 交集
        crossSet(set1, set2, set3);
        //并集
        sumSet(set1, set2, set3);
        //差集
        diffSet(set1, set2, set3);
    }

    public static void initSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
        set1.clear();
        set2.clear();
        set3.clear();
        
        set1.add(1);
        set1.add(2);

        set2.add(1);
        set2.add(3);

        set3.add(1);
        set3.add(4);
    }

交集(retainAll)

注意:

泛型为引用数据类型需要重写equals()和hashCode()方法。

	public static void crossSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
        initSet(set1,set2,set3);
        set1.retainAll(set2);
        set1.retainAll(set3);
        System.out.println("set1 set2 set3的交集是:" + set1);
    }

并集(addAll)

        public static void sumSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
        initSet(set1,set2,set3);
        set1.addAll(set2);
        set1.addAll(set3);
        System.out.println("set1 set2 set3的并集是:" + set1);
    }

求差集(removeAll)

	public static void diffSet(Set<Integer> set1, Set<Integer> set2, Set<Integer> set3) {
        initSet(set1,set2,set3);
        set1.removeAll(set2);
        set1.removeAll(set3);
        System.out.println("set1 set2 set3的差集是:" + set1);
    }

结果展示

在这里插入图片描述

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring security4 添加验证码的示例代码

    spring security4 添加验证码的示例代码

    本篇文章主要介绍了spring security4 添加验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Java使用Catcher捕获异常的实现

    Java使用Catcher捕获异常的实现

    本文主要介绍了Java使用Catcher捕获异常的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • IntellJ IDEA JAVA代码任务标记实例解析

    IntellJ IDEA JAVA代码任务标记实例解析

    这篇文章主要介绍了IntellJ IDEA JAVA代码任务标记实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 使用迭代器模式来进行Java的设计模式编程

    使用迭代器模式来进行Java的设计模式编程

    这篇文章主要介绍了使用迭代器模式来进行Java的设计模式编程,文中对迭代器模式中的容器封装方面的知识进行了讲解,需要的朋友可以参考下
    2016-02-02
  • java书店系统毕业设计 用户模块(3)

    java书店系统毕业设计 用户模块(3)

    这篇文章主要介绍了java书店系统毕业设计,第三步系统总体设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java 实现常见的非对称加密算法

    Java 实现常见的非对称加密算法

    这篇文章主要介绍了Java 实现常见的非对称加密算法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-11-11
  • mysql+spring+mybatis实现数据库读写分离的代码配置

    mysql+spring+mybatis实现数据库读写分离的代码配置

    今天小编就为大家分享一篇关于mysql+spring+mybatis实现数据库读写分离的代码配置,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • java实现文件上传功能

    java实现文件上传功能

    这篇文章主要为大家详细介绍了java实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • java中添加按钮并添加响应事件的方法(推荐)

    java中添加按钮并添加响应事件的方法(推荐)

    下面小编就为大家带来一篇java中添加按钮并添加响应事件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 二叉搜索树实例练习

    二叉搜索树实例练习

    一棵二叉查找树是按二叉树结构来组织的。这样的树可以用链表结构表示,其中每一个结点都是一个对象
    2012-11-11

最新评论