集合操作中有retainAll,也有removeAll,第一眼往往容易混淆,来看下JDK定义,

(1)retainAll

boolean retainAll(Collection<?> c)仅在列表中保留指定 collection 中所包含的元素(可选操作)。
换句话说,该方法从列表中移除未包含在指定 collection 中的所有元素。 指定者:
接口 Collection<E> 中的 retainAll
参数:
c - 包含将保留在此列表中的元素的 collection
返回:
如果此列表由于调用而发生更改,则返回 true
抛出:
UnsupportedOperationException - 如果列表不支持 retainAll 操作
ClassCastException - 如果此列表的元素的类和指定的 collection 不兼容(可选)
NullPointerException - 如果此列表包含一个 null 元素,并且指定的 collection 不允许 null 元素(可选),
或者指定的 collection 为 null
另请参见:
remove(Object), contains(Object)

(2)removeAll

boolean removeAll(Collection<?> c)从列表中移除指定 collection 中包含的其所有元素(可选操作)。 指定者:
接口 Collection<E> 中的 removeAll
参数:
c - 包含从此列表中移除的元素的 collection
返回:
如果此列表由于调用而发生更改,则返回 true
抛出:
UnsupportedOperationException - 如果列表不支持 removeAll 操作
ClassCastException - 如果此列表中的元素的类和指定的 collection 不兼容(可选)
NullPointerException - 如果此列表包含一个 null 元素,并且指定的 collection 不允许 null 元素(可选),
或者指定的 collection 为 null
另请参见:
remove(Object), contains(Object)

可见两者刚好相反,retainAll是用来剔除不在指定集合的元素,而removeAll是用来剔除在指定集合中的元素。

所以使用上retainAll可以用来取交集,而removeAll可以用来排除值。

集合操作retainAll和removeAll相关推荐

  1. Oracle集合操作

    Oracle集合操作 · UNION:并集,所有的内容都查询,重复的显示一次 · UNION ALL:并集,所有的内容都显示,包括重复的 · INTERSECT:交集:只显示重复的 · MINUS:差 ...

  2. Numpy入门教程:08. 集合操作

    背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 – Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: 执 ...

  3. awk的集合操作实现

    2019独角兽企业重金招聘Python工程师标准>>> 需求 有一份人员名单,另有一些已上交的文件,文件名包含人员姓名或编号 问题:谁没交? 思路 这其实是数据结构里的集合操作 若人 ...

  4. JavaScript常见集合操作

    JavaScript常见集合操作 集合的遍历 FOR循环(效率最高) 优点:JavaScript最普遍的for循环,执行效率最高 缺点:无法遍历对象 for(let i=0;i<array.le ...

  5. Python基础入门:高效的集合操作

    Python中有两种可以遍历的容器类型. 序列类型:包含字符串.列表.元祖 映射(哈希)类型:包含字典.集合 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的,那么查找某个元素时 ...

  6. Python中的高效的集合操作

    Python中有两种可以遍历的容器类型. 序列类型:包含字符串.列表.元祖 映射(哈希)类型:包含字典.集合 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的,那么查找某个元素时 ...

  7. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  8. python-字符串·文件·集合操作

    原本这几个应该和列表·字典一起写的,只是我不是一起学的,所以就分开写了. 字符串操作: 特性:不可修改 一些基本语法: name.find('A') 查找A,找到返回其索引, 找不到返回-1 name ...

  9. ListGetandSetDemo 集合操作get set remove add方法

    ListGetandSetDemo 集合操作get set remove add方法 /*** 集合操作 --线性表 概念: List是Collection的子接口,用于定义线性表数据结构. * 可以 ...

  10. Oracle 语言分类 数据类型 数据类型转换 常用函数 集合操作 子查询

    SQL分类 SQL(Structure Query Language)语言是数据库的核心语言.SQL语言共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL.1 ...

最新文章

  1. lisp pl线线段数_vlisp每日源码(标注多段线线长)
  2. BZOJ 1084: [SCOI2005]最大子矩阵【DP】
  3. ios调用restful接口_做iOS上最好的REST API测试App
  4. 固定资产管理有关的计算机知识,计算机技术在固定资产管理中的具体应用.pdf...
  5. Git --- 傻瓜内容跟踪器
  6. 地铁线路图的设计与实现
  7. python复杂代码示例_6 个例子教你重构 Python 代码
  8. 【转载】Docker镜像打包示例
  9. java 文件去除扩展名_使用Java删除所有带扩展名的文件
  10. Mac的「预览」程序如何旋转图片
  11. 计算机语言中索引什么意思,index在中是什么意思
  12. 2023年厦门大学应用统计专硕考研上岸经验分享
  13. hdu1713相遇周期
  14. 赞叹AI的力量-TopazLabs 全家桶使用经历
  15. 进存销管理系统(仓库管理系统)
  16. 制作WINRE恢复光盘
  17. 简单阅读golang的net/http包和Negroni的源码
  18. tf.transpose()
  19. 2022年建筑装饰行业报告:企业微网蓄势待发,万亿赛道谁主沉浮?
  20. Spring Task定时任务

热门文章

  1. 使用 Visual Studio 发布 .NET 控制台应用程序
  2. 地图分幅组件的实现(七)——非标准制图过程的自动化
  3. 解决macOS Big Sur升级后部分java应用无法打开的问题JavaVM: Failed to load JVM: libserver.dylib
  4. 电工模拟接线软件 app_电气工程师手机必备APP
  5. 2021最新学习路线,Java快速入门到精通(附Java教学视频)
  6. 智能网联汽车测试场景数据车载采集平台搭建要求及方法
  7. linux下用c语言写吃金豆,吃金豆pacmanTC版
  8. Global Mapper 裁剪
  9. 科技文献检索课题 计算机,科技文献检索课题.doc
  10. laravel框架详解