开发过程中,我们可能需要对 2 个 或多个 List 集合中的数据进行处理,比如多个 List 集合数据求 相同元素,多个 List 集合数据得到只属于本身的数据,如图示:

这里写图片描述

这里以 2 个 List 介绍,有一些业务要求我们处理得到图上的 3 中情况

* 只属于 A

* 共同的元素

* 只属于 B

这种处理方式在数学上并不陌生,只属于 A ,相当于集合上 B 关于 A 的相对补集;相同的元素,A 和 B 的并集;只属于 B ,相当于集合上 A 关于 B 的相对补集。明白了这几个概念,下面我们就介绍 Java 代码该如何为实现,代码如下

public static void test() {

List A = new ArrayList();

A.add(1);

A.add(2);

A.add(3);

A.add(4);

List B = new ArrayList();

B.add(2);

B.add(4);

B.add(5);

B.add(6);

Collection C = new ArrayList(A);

C.retainAll(B);

System.out.println("A 与 B 并集:" + C);

B.removeAll(C);

System.out.println("A 关于 B 的相对补集:" + B);

A.removeAll(C);

System.out.println("B 关于 A 的相对补集:" + A);

}

运行得到的结果:

本文引自:https://blog.csdn.net/gnf_cc/article/details/71214126

java list取补集_Java 2 个 List 集合数据求并、补集操作相关推荐

  1. java list取值_Java集合详解

    一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型.为了满足这些常规的编程需要,我们要 ...

  2. java除数取余_Java中的相除(/)和取余(%)的实现方法|chu

    取模运算与取余运算两个概念有重叠的部分但又不完全一致.主要的区别在于对负整数进行除法运算时操作不同. 对于整形数a,b来说,取模运算或者求余运算的方法都是: 1.求 整数商 c = a / b: 2. ...

  3. java biginteger 取模_Java BigInteger类

    其实除了Python,Ruby外,Java也自带高精,只不过被封装在类里.Java有两个高精类:BigInteger和BigDecimal,分别是高精度整数和高精度小数.本文来简单介绍一下BigInt ...

  4. java向上取整函数_java取整函数,向上取整函数Math.ceil()

    你知道java取整函数要怎样实现吗?下面要给大家分享的是java向上取整函数的相关内容,一起来了解一下具体的方法吧! java向上取整函数Math.ceil():double dividend = 7 ...

  5. java 向上取整_java 中的异常处理和常用类使用

    一.异常: 1.异常的简单介绍: Throwable类 / Error Exception | | Unchecked Checked Runtime Exception Exception Exce ...

  6. java 字节取位_java位 、字节 、字符的梳理

    1字节(byte)=8位(bit) char=2字节(这是因为char是Java中的保留字,Java用的是Unicode,所以char在Java中是16位即2个字节的.) 附: String str= ...

  7. java map取值_Java Set接口 Map 与枚举

    Set接口 概述 一个不包含重复元素的 collection.更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素 特点 Set接口是 ...

  8. java excel 取值_java实现Excel 单元格取值工具类

    在工作中经常遇到通过excel获取数据的需求,比如通过excel将数据提交到数据库等.现针对excel单元格的取值方法提取出来作为一个工具类. 具体代码如下: import org.apache.po ...

  9. java字符串取反_Java探索之string字符串的应用代码示例

    String类中提供了丰富的用于操作字符串的方法. int indexOf(String str) 该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1. 重载的方法 ...

  10. java double 取余_java中double除法和取余的若干注意

    1 整数除法中,除数为0,抛出一个算术异常ArithmeticException.整数取余运算中,除数为0,抛出一个ArithmeticException异常. 如: class Test { pub ...

最新文章

  1. 概述 互联网时代的商业挑战
  2. php在线客服系统源码_在线客服系统物流行业解决方案
  3. 网络共享服务Samba和NFS配置
  4. python发红包问题_一个关于红包的问题引发的python算法初体验
  5. adb 重命名_adb中常用的命令
  6. fscanf返回值被忽略怎么解决_pytest的fixture怎么用?
  7. STC学习:便携式温度采集器
  8. 奥维地图导入西安坐标_奥维地图导入坐标样式 奥维地图批量导入经纬度坐标...
  9. 纯C#实现JPEG解码器在超大图片切割中的应用
  10. Linux VPS 免费管理面板推荐
  11. 华为荣耀20和x10比较_华为畅享20Pro和荣耀X10哪个好-有什么区别-哪个性价比高
  12. 2019年下半年1+X 证书 Web 前端开发初级理论考试题目原题+答案(超详细分析)
  13. excel自动换行_你会用Excel制作 流程图 吗?
  14. 【Python】个人所得税
  15. 用户冷启动问题现存解决办法汇总
  16. 【git】 Please tell me who you are解决方法
  17. 迪士尼FAMA认证作用及取得FAMA注意事项
  18. 光纤振动传感器在海底光缆安全防护的应用
  19. 怎么去水印不破坏原图?这4个方法,无痕去除图片水印
  20. PilotEdit(文本编辑器软件)官方中文版V14.5.0 | pilotedit是什么软件

热门文章

  1. C语言基础学习——基本数据类型(Int型)
  2. 仿XP画图板—升级版
  3. ExoPlayer播放器播放MP2音频格式视频无声音加入Ffmpeg软解码功能
  4. 布法罗纽约州立大学计算机排名,2019年QS世界大学排名纽约州立大学布法罗分校排名第313...
  5. 小米平板2刷android,小米平板2怎么刷回MIUI 小米平板2刷回MIUI教程
  6. html5 img圆角,用 CSS3 给 图片添加圆角
  7. android 蓝牙耳机 找不到驱动程序,bluetooth外围设备,详细教您bluetooth外围设备找不到驱动程序怎么解决...
  8. Python:实现miller rabin米勒-拉宾素性检验算法(附完整源码)
  9. asio ssl 笔记
  10. 使用Java播放wav音乐