//在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()方法的理解相关推荐

  1. Spring框架中集合属性为对象的注入方法

    Spring框架中集合属性为对象的注入方法 前言 创建基础类 创建`Course`类 编写XML配置文件 创建测试类 执行结果 前言 在集合的属性注入中,如果注入属性为普通类型(String.int) ...

  2. python中集合_Python中的集合

    1.dict中的fromkeys(a, b)函数: 把a迭代后的每一个元素作为一个key,value都是相同的b dic = dict.fromkeys(["a", "b ...

  3. java初始化集合_Java 中初始化 List 集合的 6 种方式!

    List 是 Java 开发中经常会使用的集合,你们知道有哪些方式可以初始化一个 List 吗?这其中不缺乏一些坑,今天栈长我给大家一一普及一下. 如果想学习Java工程化.高性能及分布式.深入浅出. ...

  4. java 三大集合_java中的三大集合入门笔记(简单实用)

    为什么使用集合框架 如图: 集合的好处: 集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合适用于不同的场合. Java集合主要分为以下3种类型 Java集合框架提供 ...

  5. java三大集合_java中三大集合框架

    一.List集合 1.List实现的超级父类接口:Collection 存储一组不唯一(允许重复),有序的对象. 2.了解ArrayList类 A):定义的格式:ArrayList 集合名 =  ne ...

  6. java 获取集合对象中某个属性不为空的数据集合 lambda获取【拉姆达表达式 】

    首先我创建了一个测试的类. 这个随意哈. public class Person {private String name;private String age;private Integer id; ...

  7. java sublist_Java集合框架中少为人知的SubList类

    SubList List在开发中是常用的一种数据结构,偶尔也会用到List中的subList方法,这个方法有点意思,一起看下. 01SubList的使用 List接口中有subList(int fro ...

  8. java的集合框架中重要的接口,持续更新大厂面试笔试题

    第一篇Linux基础学习篇 目录 第零章﹑计算机概论关于电脑的硬件组成部分﹐其实你可以观察你的台式机来分析一下﹐依外观来说这家伙主要可分为三部分﹐分别是∶ 输入单元∶包括键盘﹑鼠标﹑读卡机﹑扫描仪﹑手 ...

  9. java 反射invoke_对于反射中的invoke()方法的理解

    推荐阅读(点击即可跳转阅读) 先讲一下java中的反射: 反射就是将类别的各个组成部分进行剖析,可以得到每个组成部分,就可以对每一部分进行操作.在比较复杂的程序或框架中来使用反射技术,可以简化代码提高 ...

  10. Java ArrayList中retainAll()方法具有什么功能呢?

    转自: Java ArrayList中retainAll()方法具有什么功能呢? 下文笔者讲述java中ArrayList方法的功能简介说明,如下所示: retainAll()方法的功能:用于保留 a ...

最新文章

  1. UA MATH566 统计理论 QE练习题1
  2. SpringCloud(Gateway网关跨域)
  3. Bean放入Spring容器,你知道几种方式?
  4. Win7,Win8下多实例运行Excel2010
  5. 快手内测10分钟长视频 以吸引更多MCN、用户入驻
  6. java中类与方法叙述正确的是
  7. 实现高并发服务器之 I/O复用
  8. 在工作流引擎基础上搭建电子商务揽收系统解决方案
  9. 洛谷——P1887 乘积最大3
  10. 水星usb无线网卡linux驱动下载,水星USB无线网卡mw150us苹果macOS系统驱动成功
  11. sql中常见sqlcode原因分析
  12. 旭日x3派,手势识别之Momo Quanghuang学习记录
  13. layabox 打印_Layabox 集成指南
  14. 增强 扫描王 源码_CamScanner扫描全能王v5.15.3 安卓版
  15. Eclipse下载不了,无法访问此网页,不要慌,2步解决问题5.20
  16. Node第四天学习总结—— 数据库与身份认证(数据库、安装并配置MySQL、MySQL的基本使用、在项目中操作MySQL、前后端的身份认证)
  17. 21个奇葩注释,程序员看了都点赞
  18. Java项目源码SSM宿舍管理系统|寝室
  19. Hive之bucket表使用场景
  20. 增长复盘|我们在小程序实现裂变!日拉新1000+

热门文章

  1. 最常见的电脑数据恢复软件有几种
  2. PHP 如何使用Mobile Detect来判断访问网站的设备 安卓,平板,电脑
  3. 樽海鞘群算法原理详解
  4. breadweb控制台下载_路由器刷breed web控制台助手最新版
  5. 微信点餐外卖源码小程序开发
  6. py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图
  7. 禁用计算机f1-f12,win10系统禁用f1-f12快捷键的操作方法
  8. 【java期末复习题】第15章 JDBC数据库编程
  9. var模型可以用spss做吗_VAR模型一般几个变量
  10. 斐讯N1刷无线打印服务器,斐讯N1刷armbian制作cups打印服务器支持airprint不使用foo2zjs|hp1020...