一、交集

  java中交集使用 A.retainAll(B) ,交集的结果在集合A中。

 import org.junit.Test;

 import java.util.HashSet;
import java.util.Set; /**
* 交集
*
* @author zhongtao on 2018/5/30
*/
public class Intersection {
/**
* 测试简单交集
*/
@Test
public void testSet() {
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>(); set1.add("a");
set1.add("b");
set1.add("c"); set2.add("c");
set2.add("d");
set2.add("e"); //交集
set1.retainAll(set2);
System.out.println("交集是 " + set1); //交集是 [c]
}
}

二、并集

  并集使用addAll,A.addAll(B) 因为set本身就去重,所有直接全部添加到一个集合中取并集。

 import org.junit.Test;

 import java.util.HashSet;
import java.util.Set; /**
* 并集
*
* @author zhongtao on 2018/5/31
*/
public class UnionSet {
/**
* 并集测试
*/
@Test
public void testUnionSet() {
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>(); set1.add("a");
set1.add("b");
set1.add("c"); set2.add("b");
set2.add("c");
set2.add("d"); set1.addAll(set2);
System.out.println("并集是" + set1); //并集是[a, b, c, d]
}
}

三、差集

  差集使用removeAll方法,去掉一集合中包含的另一个集合的值。A.removeAll(B)。

 import org.junit.Test;

 import java.util.HashSet;
import java.util.Set; /**
* 差集
*
* @author zhongtao on 2018/5/31
*/
public class DifferenceSet {
/**
* 差集测试
*/
@Test
public void testDifferenceSet() {
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>(); set1.add("a");
set1.add("b");
set1.add("c");
set1.add("d"); set2.add("c");
set2.add("d");
set2.add("e");
set2.add("f"); set1.removeAll(set2);
System.out.println("差集是 " + set1); //差集是 [a, b]
}
}

Java中多个集合的交集,并集和差集的更多相关文章

  1. Java中如何克隆集合——ArrayList和HashSet深拷贝

    编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味 ...

  2. 【集合】Java中的具体集合(一)

    Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...

  3. java中数组、集合、字符串之间的转换,以及用加强for循环遍历

    java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...

  4. Java中的List集合和迭代器

    一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...

  5. java中 列表,集合,数组之间的转换

    java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...

  6. JAVA中所有与集合有关的实现类都是这六个接口的实现类

    JAVA中所有与集合有关的实现类都是这六个接口的实现类. Collection接口:集合中每一个元素为一个对象,这个接口将这些对象组织在一起,形成一维结构. List接口代表按照元素一定的相关顺序来组 ...

  7. java求两个集合的交集和并集,比较器

    求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...

  8. Java中泛型在集合框架中的应用

    泛型是Java中的一个重要概念,上一篇文章我们说过,当元素存入集合时,集合会将元素转换为Object类型存储,当取出时也是按照Object取出的,所以用get方法取出时,我们会进行强制类型转换,并且通 ...

  9. Java中list<Object>集合去重实例

    一:Java中list去重的方法很多,下面说一下其中一种方法:把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中: 二:实例 这里需要注意的是:使用c ...

随机推荐

  1. leecode刷题(20)-- 删除链表中的节点

    leecode刷题(20)-- 删除链表中的节点 删除链表中的节点 描述: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = ...

  2. centos networkmanager 和 network配置冲突

    1.由于NetworkManager与 network 有冲突,所以要把NetworkManager关掉

  3. mysql 添加索引 mysql 如何创建索引

    1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引 ...

  4. JavaScript 函数声明,函数表达式,匿名函数的区别,深入理解立即执行函数(function(){…})()

    function fnName(){xxxx}; // 函数声明:使用function关键字声明一个函数,在指定一个函数名. //例如:(正常,因为 提升 了函数声明,函数调用可以在函数声明之前) f ...

  5. mxonline实战9,我要学习功能块,机构详情展示,收藏功能

    对应github地址:第9天   一. 实现我要学习功能

  6. 从源码的角度再学「Thread」

    前言 Java中的线程是使用Thread类实现的,Thread在初学Java的时候就学过了,也在实践中用过,不过一直没从源码的角度去看过它的实现,今天从源码的角度出发,再次学习Java Thread, ...

  7. mybatis的执行流程

    1.SqlSessionFactoryBuilder与SqlSessionFactory 我们一般在使用mybatis是都会通过new SqlSessionFactoryBuilder.build(. ...

  8. Ubuntu16.04安装视觉SLAM环境(g2o)

    1.首先在github上下载g2o图优化库 git clone https://github.com/RainerKuemmerle/g2o.git 2.运行安装以下依赖库 sudo apt-get ...

  9. OpenFoam+CFDEM+Liggghts安装耦合

    这里安装的时间节点为:2018.10.29,安装的是目前的最新版本CFDEM,支持到与OpenFoam-5.x的耦合. 1. 先安装openfoam:https://openfoam.org/down ...

  10. ui7

    2016.9讲义 一.课程的主要内容和目的 二.课程所用工具软件——Photoshop CS6 1. Photoshop 的发展史 1990.2,ps1.0问世,1991.2,PS2.0发行,此后,进 ...