retainall java_java用retainALL 处理两个具有相同元素的list,竟然返回false,这是为什么?...
展开全部
首先, 这个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,这是为什么?...相关推荐
- python匿名基数(lamdba):给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True;如果数组中每个元素互不相同,返回False,用一行代码解决
""" 给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True:如果数组中每个元素互不相同,返回False,用一行代码解决 例: nums = [1,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, ...
- 对比两个同类型的泛型集合并返回差异泛型集合 ——两个List类名的比较
1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam nam ...
- 有3个集合, 从其中一个集合中删除同时存在于另外两个集合的元素
如下分享的邮件,在博客园做个记录,以便以后使用. 在这里,其实也想倡导一下程序员要具有的分享精神.鼓励大家多分享,平时有什么新的收获,最好在team里做个分享 .分享也是一种很好的事情.对团队来说,可 ...
- Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 目录 利用pandas对两列字段元素求差集(对比两列字段所有元素的异同) 输出结果 实现代码 利用pandas ...
- Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标
*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置.返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标 题目 题目描述与运行示例 破题 代码 题目 ...
- CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接
CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接 作为一个非专业前端,有时候开发又必须自己写一些简单的前端,在网上有时候不能及时查找到内容,只能自己尝试,如下是实现两个sp ...
- numpy中两个array数值比较,在IDE中显示完全相同,但是bool判断两个array是否相等却返回False
numpy踩坑:两个array中数值分别比较,在IDE显示相同,但是bool判断两个array是否相等值却是False 在numpy数据比较时,在IDE显示完全相同但是比较是否相等却有时候返回Fals ...
- matlab 判断两个矩阵有元素相等_Matlab入门教程 第 1 章 Matlab基础知识之基本运算...
1.6 Matlab 基本运算 Matlab 包含三种运算:算术运算.关系运算和逻辑运算. 1.6.1 算术运算 ① 基本算术运算 基本算术运算符:+.-.*./(右除).\(左除).^(乘方) ? ...
- Python(65)_写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者...
#-*-coding:utf-8-*- ''' 写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者 ''' def func(l):return l[:2] # 其 ...
最新文章
- Ubuntu 14.04 64位上配置JDK操作步骤
- 使用solr构建hbase二级索引
- C语言实用算法系列之学生管理系统_单向链表外排序_栈内数组存储链表节点指针
- mysql 导出csv 多列_从包含300多列的csv,txt或xls文件创建MySQL表
- 微服务权限控制(二)共享Session方式的登录认证
- 《构建高可用Linux服务器》答读者疑问
- 华为U2000网管研究实录 (1) - 安装
- spyder指定python环境
- 自己用命令强制删除占用的文件或文件夹
- 详谈利用系统漏洞及mysql提权
- The content of element type mapper must match (cache-ref|cache|resultMap*|parameterMap*|sql*|inse
- C++ cctype头文件里的:isalpha、islower、isupper、isalnum、isblank、isspace函数
- 金山中学 rugular SRM 04 ——纪念我的第一次Ak
- 使用oc的block方法回调
- leetcode解题思路分析(一百三十)1093 - 1096 题
- Unknown database ‘xxx‘
- 微信公众号如何开通模板消息功能?申请理由怎么写?
- 手提电脑安装双屏后没有声音输出
- fest556_FEST JavaFX编译器Maven插件
- 2013年1月16日 OutOfMemory.CN 进展
热门文章
- 一文搞懂HTML+CSS+JavaScript
- Picasa是什么软件
- 如何下载 MMS开头的视频资源
- ping C语言实现
- 物联网15年,盘点国内崛起的智能产业
- win10子系统ubuntu WSL下无法用git下载代码
- 思维模型篇:数据化营销的六脉神剑
- 设计物联网系统的步骤和原则有哪些
- 界面控件DotNetBar for WinForms使用教程:LayoutControl布局与通用代码设置(三)
- esp分区引导修复失败_让你彻底理解和学会UEFI启动模式下修复引导问题的教程-网络教程与技术
-亦是美网络...