首页 > 编程语言 >【Java】对两个Set取交集,差集,并集

【Java】对两个Set取交集,差集,并集

时间:2023-10-11 10:25:34浏览次数:29  
标签:Set setA 并集 HashSet setB 差集 resSet new

1、取交集(取两个集合中都存在的元素)

HashSet<String> setA = new HashSet<>();
HashSet<String> setB = new HashSet<>();
//用于存放结果
HashSet<String> resSet = new HashSet<>();
resSet.addAll(setA);
resSet.retainAll(setB);
return resSet;

2、取差集(取存在一个集合中,但不存在于另外一个集合中的元素)

HashSet<String> setA = new HashSet<>();
HashSet<String> setB = new HashSet<>();
//用于存放结果
HashSet<String> resSet = new HashSet<>();
resSet.addAll(setA);
resSet.removeAll(setB);
return resSet;

3、取并集(取两个集合中全部的元素,这个很简单,都把他们添加进去就行)

HashSet<String> setA = new HashSet<>();
HashSet<String> setB = new HashSet<>();
//用于存放结果
HashSet<String> resSet = new HashSet<>();
resSet.addAll(setA);
resSet.addAll(setB);
return resSet;

 

  1.   package site.duanzy.util;
  2.    
  3.   import java.util.HashSet;
  4.   import java.util.Set;
  5.    
  6.   /**
  7.   * @author leo
  8.   * @date 2022/6/16 19:12
  9.   */
  10.   public class SetUtil {
  11.    
  12.   /**
  13.   * 取交集(取两个集合中都存在的元素)
  14.   * @return
  15.   */
  16.   public static Set<String> intersectionSet(Set<String> setA, Set<String> setB){
  17.   Set<String> resSet = new HashSet<>();
  18.   resSet.addAll(setA);
  19.   resSet.retainAll(setB);
  20.   return resSet;
  21.   }
  22.    
  23.   /**
  24.   * 取差集(取存在一个集合中,但不存在于另外一个集合中的元素)
  25.   * @return 存在A集合,不存在B集合的数据
  26.   */
  27.   public static Set<String> differenceSet(Set<String> setA, Set<String> setB){
  28.   Set<String> resSet = new HashSet<>();
  29.   resSet.addAll(setA);
  30.   resSet.removeAll(setB);
  31.   return resSet;
  32.   }
  33.    
  34.   /**
  35.   * 取并集(取两个集合中全部的元素,这个很简单,都把他们添加进去就行)
  36.   * @return
  37.   */
  38.   public static Set<String> unionSet(Set<String> setA, Set<String> setB){
  39.   Set<String> resSet = new HashSet<>();
  40.   resSet.addAll(setA);
  41.   resSet.addAll(setB);
  42.   return resSet;
  43.   }
  44.   }

标签:Set,setA,并集,HashSet,setB,差集,resSet,new
From: https://www.cnblogs.com/muxilaoshi/p/17756415.html

相关文章

  • jquery uploadify动态更新配置参数方法uploadifySettings()
    1.使用scriptData给后台传参数的时候,必须声明'method':'GET',因为默认是POST2.$("#uploadify").uploadifySettings('scriptData',{'name':'liudong','age':22});动态更新配置参数$("#uploadify&quo......
  • set通过operator <去重、排序
    如何定义类的operator<以保证set去重、有序STL自定义比较器的要求是必须为严格弱序,因为STL内部就是这样做的。x<x为假(反自反)x<y为真则y<x为假(反对称)x<y且y<z则x<z(传递性)x<y为假且y<x为假,y<z为假且z<y为假,则x<z为假且z<x为假(不可比的传递性)如果两......
  • Django-setting配置不当引起的Session反序列化
    Django-setting配置不当引起的Session反序列化在复现ez_py这道题的时候,翻到了p神19年写的一篇文章:https://www.leavesongs.com/PENETRATION/code-breaking-2018-python-sandbox.html,特此做了下笔记漏洞成因漏洞成因位于目标配置文件settings.py下关于这两个配置项SESSION_EN......
  • abp 框架使用自定义appsetings.json
    定义一个自定义的配置文件在调试配置中设置启动环境这里的值填入刚刚设置的配置文件appsetings.{配置文件名字}.json的配置文件名字启动即可系统启动时,首先会检查{配置文件名字}是否存在,存在的话使用appsettings.{配置文件名字}.json,不存在则使用appsettings.json(默认配......
  • [abc302f] Merge Set
    F-MergeSet显然要建图首先,我们有一个粗略的想法,对于同一集合\(S_i\)内的元素,\(S_{i,j}\)与\(S_{i,j+1}\)间连一条无向的标号为\(i\)的边那么题目显然是要我们跑最短路,若到达\(x\)的边为\(i\),然后从\(x\)向外走到点\(y\),走的边若还为\(i\),那么代价为\(0\),否则代价为\(1\)也......
  • JavaSE---SortedSet(TreeSet)
    SortedSet概述A{@linkSet}thatfurtherprovidesatotalorderingonitselements.提供元素排序的set;Theelementsareorderedusingtheir{@linkplainComparablenatural ordering},orbya{@linkComparator}typicallyprovidedatsortedsetcre......
  • setting.xml文件配置释义
    maven下载jar规则maven下载jar包优先从配置的本地仓库localRepository查找jar,找不到会去配置的远程仓库中下载jar配置的远程仓库都有对应的id,可以根据标签填对应的仓库的id,代表,从这个仓库下载jar的时候,会走对应的镜像如果下载不到jar,会报错plugin会从配置的pluginRepositor......
  • 关联容器(map、set、multimap、multiset、pair、unordered_map)
    一、使用关联容器key---value)对:关键字起到索引的作用,值则表示与索引相关联的数据。set中每个元素只包含一个关键字;set支持高效的关键字查询操作---检查一个关键字是否在set中。multimap允许多个元素具有相同的关键字。   pair类型用于保存两个数据类型,pair的数据成员是public......
  • 分布式锁-实现原理(setnx,redisson)
         ......
  • 无涯教程-Meteor - Assets
    静态服务器assets位于应用程序内的private私有子文件夹中。在以下示例中,无涯教程将学习如何使用简单JSON文件中的数据。第1步-创建文件夹让无涯教程创建一个私有文件夹和该文件夹内的my-json.json文件,无涯教程将在命令提示符窗口中使用以下命令来执行此操作,但是,您也可以......