Java中多个集合的交集,并集和差集
一、交集
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中多个集合的交集,并集和差集的更多相关文章
- Java中如何克隆集合——ArrayList和HashSet深拷贝
编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法.需要记住的是,Java集合的拷贝构造函数只提供浅拷贝而不是深拷贝,这意味 ...
- 【集合】Java中的具体集合(一)
Java中不止提供了集合框架中的接口,还提供了许多具体的实现. Java中的具体集合 集合类型 描述 ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行 ...
- java中数组、集合、字符串之间的转换,以及用加强for循环遍历
java中数组.集合.字符串之间的转换,以及用加强for循环遍历: @Test public void testDemo5() { ArrayList<String> list = new ...
- Java中的List集合和迭代器
一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...
- java中 列表,集合,数组之间的转换
java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...
- JAVA中所有与集合有关的实现类都是这六个接口的实现类
JAVA中所有与集合有关的实现类都是这六个接口的实现类. Collection接口:集合中每一个元素为一个对象,这个接口将这些对象组织在一起,形成一维结构. List接口代表按照元素一定的相关顺序来组 ...
- java求两个集合的交集和并集,比较器
求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...
- Java中泛型在集合框架中的应用
泛型是Java中的一个重要概念,上一篇文章我们说过,当元素存入集合时,集合会将元素转换为Object类型存储,当取出时也是按照Object取出的,所以用get方法取出时,我们会进行强制类型转换,并且通 ...
- Java中list<Object>集合去重实例
一:Java中list去重的方法很多,下面说一下其中一种方法:把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中: 二:实例 这里需要注意的是:使用c ...
随机推荐
- 【OCP-12c】CUUG 071题库考试原题及答案解析(22)
5.choose the best answer Evaluate the following CREATE SEQUENCE statement: CREATE SEQUENCE seq1 STAR ...
- spring-mybatis源码追踪
启用一个扫描类 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <propert ...
- [Flex] 组件Tree系列 —— 运用variableRowHeight和wordWrap设置可变行高
mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:运用variableRowHeig ...
- POJ 2239
#include<iostream> #include<algorithm> #define MAXN 305 using namespace std; int _m[MAXN ...
- C#-WebForm-GridView表格展示数据
GrideView 控件,功能是将数据库的数据用表格的形式展示在页面上 一.<源>代码中放入 GridView 控件 打开<设计>界面 二.绑定数据源 (一)创建 LinQ 类 ...
- Learn to See in the Dark(论文阅读笔记)
最近做项目看了一篇论文<Learn to See in the Dark>下面是一些论文笔记 概括: 这篇论文主要介绍的是在低光照的环境下用两个标准的FCN网络,通过控制变量法来对比不同的 ...
- 启动多个appium服务(同时运行多台设备)
准备: 一台真机一台模拟器(使用的是“夜神模拟器”) 先查看是否检测到设备 adb devices 由上图可看出没有检测到模拟器(夜神模拟器已开启) 可通过以下配置完成: 第一步:找到adb的 ...
- python学习,day4:生成器,通过yield实现单线程情况下的并发运算
首先了解一个斐波那契函数的实现,了解下生成器的工作流程 # coding=utf-8 # Author: RyAn Bi def fib(max): n,a,b=0,0,1 while n < ...
- Python flask Reason: image not found libmysqlclient.21.dylib
Python flask Reason: image not found libmysqlclient.21.dylib 折腾了半个下午,在这里找到了答案,在此记录一下,以免后人躺坑 错误提示: Im ...
- Java多线程笔记[未更新完]
最近课上可摸鱼时间较多,因此并发开坑学习 本篇学习自Java多线程编程实战指南 目前进展:刚开坑,处于理解概念阶段 本篇学习自Java多线程编程实战指南 Q.进程和线程的区别 进程Process是程序 ...