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); }
结果展示
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决javac不是内部或外部命令,也不是可运行程序的报错问题
在学着使用Java的命令行来编译java文件的时候,遇到了这个问题,本文主要介绍了解决javac不是内部或外部命令,也不是可运行程序的报错问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-04-04Spring + Spring Boot + MyBatis + MongoDB的整合教程
这篇文章主要给大家介绍了关于Spring + Spring Boot + MyBatis + MongoDB的整合教程,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。2017-12-12解读Integer类的parseInt和valueOf的区别
这篇文章主要介绍了解读Integer类的parseInt和valueOf的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-11-11Java 日期格式yyyy-MM-dd与YYYY-MM-dd区别
我们在java中常用的规范格式为:2023-11-11
yyyy-MM-dd HH:mm:ss:SSS 24小时制或yyyy-MM-dd hh:mm:ss:SSS 12小时制,本文就来介绍一下两者的区别,感兴趣的可以了解一下
最新评论