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);
    }

结果展示

在这里插入图片描述

总结

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

相关文章

  • JavaCV实现将视频以帧方式抽取

    JavaCV实现将视频以帧方式抽取

    这篇文章主要为大家详细介绍了JavaCV实现将视频以帧方式抽取,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 详解ElasticSearch6.4.0集群搭建

    详解ElasticSearch6.4.0集群搭建

    这篇文章主要介绍了详解ElasticSearch6.4.0集群搭建,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • java去除中文括号小括号,或者英文括号的实例代码

    java去除中文括号小括号,或者英文括号的实例代码

    这篇文章主要介绍了java去除中文括号小括号,或者英文括号的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java中ShardingSphere分库分表实战

    Java中ShardingSphere分库分表实战

    我们做项目的时候,数据量比较大,单表千万级别的,需要分库分表,本文主要介绍了Java中ShardingSphere分库分表实战,感兴趣的可以了解一下
    2021-09-09
  • Java多线程实现模拟12306火车站售票系统

    Java多线程实现模拟12306火车站售票系统

    12360火车票售票系统基本上大家都用过,那你知道是怎么实现的吗,今天我们就模拟12306火车站售票系统来实现,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 新手必备的IDEA常用设置总结

    新手必备的IDEA常用设置总结

    今天给大家总结了一些IDEA的常用设置,文中有非常详细的图文介绍,对正在学习使用IDEA的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • 隐藏idea的.idea和.mvn文件的解决方案

    隐藏idea的.idea和.mvn文件的解决方案

    这篇文章主要介绍了隐藏idea的.idea和.mvn文件的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • SpringBoot自动装配Condition的实现

    SpringBoot自动装配Condition的实现

    Spring4.0新增@Conditional注解,用于条件化Bean的注册,通过实现Condition接口并重写matches方法,可以控制Bean的创建与否,感兴趣的可以了解一下
    2024-10-10
  • swing jtextArea滚动条和文字缩放效果

    swing jtextArea滚动条和文字缩放效果

    这篇文章主要为大家详细介绍了swing jtextArea滚动条和文字缩放效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 浅谈Java中BigDecimal类的简单应用

    浅谈Java中BigDecimal类的简单应用

    这篇文章主要介绍了浅谈Java中BigDecimal类的简单应用,BigDecimal是由任意精度的整数非标度值和32位的整数标度组成,如果为零或正数,则标度是小数点后的位数,如果为负数,则将该数的非标度值乘以 10的负scale次幂,需要的朋友可以参考下
    2023-07-07

最新评论