Java中集合retainall_Collection中的之retainAll()方法的理解
//在jdkapi中的方法,说明返回值为boolean类型,
boolean retainAll(Collection> c) ;
//api中给的注释
//Retains only the elements in this list that are contained in the specified collection
//只保留在此集合中存在的元素,
//A.retainAll(B),A调用这个方法之后,集合A中只剩下存在于B中的元素,返回值为false表示集合A没改变,返
回true集合A发生改变
//jdk中实现的源码
Boolean removeAll(Collection> c)
public boolean retainAll(Collection> c) { //返回值是否发生改变
return batchRemove(c, true);
}
private boolean batchRemove(Collection> c, boolean complement) {
final Object[] elementData = this.elementData;
int r = 0, w = 0;
boolean modified = false;
try {
for (; r < size; r++)
if (c.contains(elementData[r]) == complement)
elementData[w++] = elementData[r];
} finally {
// Preserve behavioral compatibility with AbstractCollection,
// even if c.contains() throws.
if (r != size) {
System.arraycopy(elementData, r,
elementData, w,
size - r);
w += size - r;
}
if (w != size) {
for (int i = w; i < size; i++)
elementData[i] = null;
modCount += size - w;
size = w;
modified = true;
}
}
return modified;
}
example:
public class collection_test {
public static void main(String args[]) {
Collection c=new ArrayList();
Collection c1=new ArrayList(); c.add("a1"); c.add("a2");
c1.add("a3"); c1.add("a1"); c1.add("a2");
System.out.println(c.retainAll(c1)); System.out.println(c.toString()); System.out.println(c1.toString());
} }
结果: false [a1, a2] [a3, a1, a2]
Java中集合retainall_Collection中的之retainAll()方法的理解相关推荐
- Spring框架中集合属性为对象的注入方法
Spring框架中集合属性为对象的注入方法 前言 创建基础类 创建`Course`类 编写XML配置文件 创建测试类 执行结果 前言 在集合的属性注入中,如果注入属性为普通类型(String.int) ...
- python中集合_Python中的集合
1.dict中的fromkeys(a, b)函数: 把a迭代后的每一个元素作为一个key,value都是相同的b dic = dict.fromkeys(["a", "b ...
- java初始化集合_Java 中初始化 List 集合的 6 种方式!
List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 如果想学习Java工程化.高性能及分布式.深入浅出. ...
- java 三大集合_java中的三大集合入门笔记(简单实用)
为什么使用集合框架 如图: 集合的好处: 集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合适用于不同的场合. Java集合主要分为以下3种类型 Java集合框架提供 ...
- java三大集合_java中三大集合框架
一.List集合 1.List实现的超级父类接口:Collection 存储一组不唯一(允许重复),有序的对象. 2.了解ArrayList类 A):定义的格式:ArrayList 集合名 = ne ...
- java 获取集合对象中某个属性不为空的数据集合 lambda获取【拉姆达表达式 】
首先我创建了一个测试的类. 这个随意哈. public class Person {private String name;private String age;private Integer id; ...
- java sublist_Java集合框架中少为人知的SubList类
SubList List在开发中是常用的一种数据结构,偶尔也会用到List中的subList方法,这个方法有点意思,一起看下. 01SubList的使用 List接口中有subList(int fro ...
- java的集合框架中重要的接口,持续更新大厂面试笔试题
第一篇Linux基础学习篇 目录 第零章﹑计算机概论关于电脑的硬件组成部分﹐其实你可以观察你的台式机来分析一下﹐依外观来说这家伙主要可分为三部分﹐分别是∶ 输入单元∶包括键盘﹑鼠标﹑读卡机﹑扫描仪﹑手 ...
- java 反射invoke_对于反射中的invoke()方法的理解
推荐阅读(点击即可跳转阅读) 先讲一下java中的反射: 反射就是将类别的各个组成部分进行剖析,可以得到每个组成部分,就可以对每一部分进行操作.在比较复杂的程序或框架中来使用反射技术,可以简化代码提高 ...
- Java ArrayList中retainAll()方法具有什么功能呢?
转自: Java ArrayList中retainAll()方法具有什么功能呢? 下文笔者讲述java中ArrayList方法的功能简介说明,如下所示: retainAll()方法的功能:用于保留 a ...
最新文章
- UA MATH566 统计理论 QE练习题1
- SpringCloud(Gateway网关跨域)
- Bean放入Spring容器,你知道几种方式?
- Win7,Win8下多实例运行Excel2010
- 快手内测10分钟长视频 以吸引更多MCN、用户入驻
- java中类与方法叙述正确的是
- 实现高并发服务器之 I/O复用
- 在工作流引擎基础上搭建电子商务揽收系统解决方案
- 洛谷——P1887 乘积最大3
- 水星usb无线网卡linux驱动下载,水星USB无线网卡mw150us苹果macOS系统驱动成功
- sql中常见sqlcode原因分析
- 旭日x3派,手势识别之Momo Quanghuang学习记录
- layabox 打印_Layabox 集成指南
- 增强 扫描王 源码_CamScanner扫描全能王v5.15.3 安卓版
- Eclipse下载不了,无法访问此网页,不要慌,2步解决问题5.20
- Node第四天学习总结—— 数据库与身份认证(数据库、安装并配置MySQL、MySQL的基本使用、在项目中操作MySQL、前后端的身份认证)
- 21个奇葩注释,程序员看了都点赞
- Java项目源码SSM宿舍管理系统|寝室
- Hive之bucket表使用场景
- 增长复盘|我们在小程序实现裂变!日拉新1000+
热门文章
- 最常见的电脑数据恢复软件有几种
- PHP 如何使用Mobile Detect来判断访问网站的设备 安卓,平板,电脑
- 樽海鞘群算法原理详解
- breadweb控制台下载_路由器刷breed web控制台助手最新版
- 微信点餐外卖源码小程序开发
- py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图
- 禁用计算机f1-f12,win10系统禁用f1-f12快捷键的操作方法
- 【java期末复习题】第15章 JDBC数据库编程
- var模型可以用spss做吗_VAR模型一般几个变量
- 斐讯N1刷无线打印服务器,斐讯N1刷armbian制作cups打印服务器支持airprint不使用foo2zjs|hp1020...