码迷,mamicode.com
首页 > 编程语言 > 详细

Java 2 个 List 集合数据求并、补集操作

时间:2018-05-04 11:57:44      阅读:1327      评论:0      收藏:0      [点我收藏+]

标签:rem   retain   tail   class   info   List 集合   alt   remove   图片   

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

这里写图片描述

 技术分享图片

 

这里以 2 个 List 介绍,有一些业务要求我们处理得到图上的 3 中情况
* 只属于 A
* 共同的元素
* 只属于 B

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

public static void test() {

    List<Integer> A = new ArrayList<Integer>();
    A.add(1);
    A.add(2);
    A.add(3);
    A.add(4);

    List<Integer> B = new ArrayList<Integer>();
    B.add(2);
    B.add(4);
    B.add(5);
    B.add(6);

    Collection C = new ArrayList<Integer>(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 2 个 List 集合数据求并、补集操作

标签:rem   retain   tail   class   info   List 集合   alt   remove   图片   

原文地址:https://www.cnblogs.com/myyBlog/p/8989495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!