removeAll
2024-09-26 16:11:01
问题:无法移除2个集合中相同元素
方法:移除所包含的其所有元素。
在执行removeAll方法时,会先对集合元素进行比较,如果元素相等才执行移除操作,说到这,相信很多人都已经明白是怎么回事了,因为不相等(equals),所以没有执行移除。
java.util.AbstractCollection<E>
removeAll
public boolean removeAll(Collection<?> c) {
boolean modified = false;
Iterator<?> it = iterator();
while (it.hasNext()) {
if (c.contains(it.next())) {
it.remove();
modified = true;
}
}
return modified;
}
remove
public boolean remove(Object o) {
Iterator<E> it = iterator();
if (o==null) {
while (it.hasNext()) {
if (it.next()==null) {
it.remove();
return true;
}
}
} else {
while (it.hasNext()) {
if (o.equals(it.next())) {
it.remove();
return true;
}
}
}
return false;
}
注:if (o.equals(it.next())) !
上述例子中的实体类没有Override hashCode和equals方法
最新文章
- C++中的也能使用正则表达式
- nfs的挂载方法
- Python中的__init__和__new__介绍
- HDU 4856
- [JS]Javascript的函数总结
- 操作笔记:linux下安装ftp
- hdu 4739 状压DP
- CLR via C# 序列化读书笔记
- jQuery 中的 Ajax $.ajax() load() $.get() $.post() $.getJSON() $.getScript()
- 初步boost之pool图书馆学习笔记
- CSS传统布局之页面布局实例
- docker - 容器里安装ssh
- 【转载】十条jQuery代码片段助力Web开发效率提升
- Zookeeper+Kafka集群部署(转)
- Java面试题复习笔记(数据库)
- Linux如何实现进程监控和守护
- docker安装elasticsearch及head插件
- [Ubuntu] Git可视化比较工具 P4Merge 的安装/配置及使用
- JavaのEclipse安装Tomcat插件
- Java基础-封装(09)