集合操作retainAll和removeAll
集合操作中有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相关推荐
- Oracle集合操作
Oracle集合操作 · UNION:并集,所有的内容都查询,重复的显示一次 · UNION ALL:并集,所有的内容都显示,包括重复的 · INTERSECT:交集:只显示重复的 · MINUS:差 ...
- Numpy入门教程:08. 集合操作
背景 什么是 NumPy 呢? NumPy 这个词来源于两个单词 – Numerical和Python.其是一个功能强大的 Python 库,可以帮助程序员轻松地进行数值计算,通常应用于以下场景: 执 ...
- awk的集合操作实现
2019独角兽企业重金招聘Python工程师标准>>> 需求 有一份人员名单,另有一些已上交的文件,文件名包含人员姓名或编号 问题:谁没交? 思路 这其实是数据结构里的集合操作 若人 ...
- JavaScript常见集合操作
JavaScript常见集合操作 集合的遍历 FOR循环(效率最高) 优点:JavaScript最普遍的for循环,执行效率最高 缺点:无法遍历对象 for(let i=0;i<array.le ...
- Python基础入门:高效的集合操作
Python中有两种可以遍历的容器类型. 序列类型:包含字符串.列表.元祖 映射(哈希)类型:包含字典.集合 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的,那么查找某个元素时 ...
- Python中的高效的集合操作
Python中有两种可以遍历的容器类型. 序列类型:包含字符串.列表.元祖 映射(哈希)类型:包含字典.集合 序列类型是线性表,就像数组一样,是在内存中开辟一块连续空间,连续存储的,那么查找某个元素时 ...
- python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- python-字符串·文件·集合操作
原本这几个应该和列表·字典一起写的,只是我不是一起学的,所以就分开写了. 字符串操作: 特性:不可修改 一些基本语法: name.find('A') 查找A,找到返回其索引, 找不到返回-1 name ...
- ListGetandSetDemo 集合操作get set remove add方法
ListGetandSetDemo 集合操作get set remove add方法 /*** 集合操作 --线性表 概念: List是Collection的子接口,用于定义线性表数据结构. * 可以 ...
- Oracle 语言分类 数据类型 数据类型转换 常用函数 集合操作 子查询
SQL分类 SQL(Structure Query Language)语言是数据库的核心语言.SQL语言共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL.1 ...
最新文章
- lisp pl线线段数_vlisp每日源码(标注多段线线长)
- BZOJ 1084: [SCOI2005]最大子矩阵【DP】
- ios调用restful接口_做iOS上最好的REST API测试App
- 固定资产管理有关的计算机知识,计算机技术在固定资产管理中的具体应用.pdf...
- Git --- 傻瓜内容跟踪器
- 地铁线路图的设计与实现
- python复杂代码示例_6 个例子教你重构 Python 代码
- 【转载】Docker镜像打包示例
- java 文件去除扩展名_使用Java删除所有带扩展名的文件
- Mac的「预览」程序如何旋转图片
- 计算机语言中索引什么意思,index在中是什么意思
- 2023年厦门大学应用统计专硕考研上岸经验分享
- hdu1713相遇周期
- 赞叹AI的力量-TopazLabs 全家桶使用经历
- 进存销管理系统(仓库管理系统)
- 制作WINRE恢复光盘
- 简单阅读golang的net/http包和Negroni的源码
- tf.transpose()
- 2022年建筑装饰行业报告:企业微网蓄势待发,万亿赛道谁主沉浮?
- Spring Task定时任务
热门文章
- 使用 Visual Studio 发布 .NET 控制台应用程序
- 地图分幅组件的实现(七)——非标准制图过程的自动化
- 解决macOS Big Sur升级后部分java应用无法打开的问题JavaVM: Failed to load JVM: libserver.dylib
- 电工模拟接线软件 app_电气工程师手机必备APP
- 2021最新学习路线,Java快速入门到精通(附Java教学视频)
- 智能网联汽车测试场景数据车载采集平台搭建要求及方法
- linux下用c语言写吃金豆,吃金豆pacmanTC版
- Global Mapper 裁剪
- 科技文献检索课题 计算机,科技文献检索课题.doc
- laravel框架详解