展开全部

首先, 这个retainAll 方法的作用是 :java.util.ArrayList.retainAll(Collection> collection)

仅保留此collection中那些也包含在指定collection的元素(可选操作)。

换句话说,移除此collection中未包含在指定collection中的所有元素。

此实现在此collection上进行迭代,依次检查该迭代器返回的每个元素,以查看其是否包含在指定的collection中。如果不是,则使用迭代器的remove方法将其从此collection中移除。

其次,返回值的意思是这样的,如果此 collection 由于调用而发生更改,则返回 true

再次,你这个list3 和list1 里面元素的内容 其实是一样的, 这样一来,调用 list3.retainAll(list1) 时候,发现,不需要从list3中去除不在list1中的元素,因此这个list3不需要发生更改,那么返回值就是是false,也就是说,这62616964757a686964616fe58685e5aeb931333335333735个方法的返回值是标识list3 有没有改变,而不是这个方法是否执行正常或者成功

最后,我们再来看看 JDK1.6 这个方法的 源码

public boolean retainAll(Collection> c){

boolean modified = false;

Iterator e = iterator();

while (e.hasNext()){

if (!c.contains(e.next())){

e.remove();

modified = true;

}

}

return modified;

}

retainall java_java用retainALL 处理两个具有相同元素的list,竟然返回false,这是为什么?...相关推荐

  1. python匿名基数(lamdba):给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True;如果数组中每个元素互不相同,返回False,用一行代码解决

    """ 给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True:如果数组中每个元素互不相同,返回False,用一行代码解决 例: nums = [1,2, ...

  2. 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

    示例 1: 输入:nums = [1,2,3,1] 输出:true 示例 2: 输入:nums = [1,2,3,4] 输出:false 示例 3: 输入:nums = [1,1,1,3,3,4,3, ...

  3. 对比两个同类型的泛型集合并返回差异泛型集合 ——两个List类名的比较

    1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam nam ...

  4. 有3个集合, 从其中一个集合中删除同时存在于另外两个集合的元素

    如下分享的邮件,在博客园做个记录,以便以后使用. 在这里,其实也想倡导一下程序员要具有的分享精神.鼓励大家多分享,平时有什么新的收获,最好在team里做个分享 .分享也是一种很好的事情.对团队来说,可 ...

  5. Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)

    Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 目录 利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 输出结果 实现代码 利用pandas ...

  6. Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标

    *8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置.返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标 题目 题目描述与运行示例 破题 代码 题目 ...

  7. CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接

    CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接 作为一个非专业前端,有时候开发又必须自己写一些简单的前端,在网上有时候不能及时查找到内容,只能自己尝试,如下是实现两个sp ...

  8. numpy中两个array数值比较,在IDE中显示完全相同,但是bool判断两个array是否相等却返回False

    numpy踩坑:两个array中数值分别比较,在IDE显示相同,但是bool判断两个array是否相等值却是False 在numpy数据比较时,在IDE显示完全相同但是比较是否相等却有时候返回Fals ...

  9. matlab 判断两个矩阵有元素相等_Matlab入门教程 第 1 章 Matlab基础知识之基本运算...

    1.6 Matlab 基本运算 Matlab 包含三种运算:算术运算.关系运算和逻辑运算. 1.6.1 算术运算 ① 基本算术运算 基本算术运算符:+.-.*./(右除).\(左除).^(乘方) ? ...

  10. Python(65)_写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者...

    #-*-coding:utf-8-*- ''' 写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者 ''' def func(l):return l[:2] # 其 ...

最新文章

  1. Ubuntu 14.04 64位上配置JDK操作步骤
  2. 使用solr构建hbase二级索引
  3. C语言实用算法系列之学生管理系统_单向链表外排序_栈内数组存储链表节点指针
  4. mysql 导出csv 多列_从包含300多列的csv,txt或xls文件创建MySQL表
  5. 微服务权限控制(二)共享Session方式的登录认证
  6. 《构建高可用Linux服务器》答读者疑问
  7. 华为U2000网管研究实录 (1) - 安装
  8. spyder指定python环境
  9. 自己用命令强制删除占用的文件或文件夹
  10. 详谈利用系统漏洞及mysql提权
  11. The content of element type mapper must match (cache-ref|cache|resultMap*|parameterMap*|sql*|inse
  12. C++ cctype头文件里的:isalpha、islower、isupper、isalnum、isblank、isspace函数
  13. 金山中学 rugular SRM 04 ——纪念我的第一次Ak
  14. 使用oc的block方法回调
  15. leetcode解题思路分析(一百三十)1093 - 1096 题
  16. Unknown database ‘xxx‘
  17. 微信公众号如何开通模板消息功能?申请理由怎么写?
  18. 手提电脑安装双屏后没有声音输出
  19. fest556_FEST JavaFX编译器Maven插件
  20. 2013年1月16日 OutOfMemory.CN 进展

热门文章

  1. 一文搞懂HTML+CSS+JavaScript
  2. Picasa是什么软件
  3. 如何下载 MMS开头的视频资源
  4. ping C语言实现
  5. 物联网15年,盘点国内崛起的智能产业
  6. win10子系统ubuntu WSL下无法用git下载代码
  7. 思维模型篇:数据化营销的六脉神剑
  8. 设计物联网系统的步骤和原则有哪些
  9. 界面控件DotNetBar for WinForms使用教程:LayoutControl布局与通用代码设置(三)
  10. esp分区引导修复失败_让你彻底理解和学会UEFI启动模式下修复引导问题的教程-网络教程与技术 -亦是美网络...