java list移除符合条件的元素_从List中移除指定 List 中包含的其所有元素(可选操作)。...
从List中移除指定 List 中包含的其所有元素,这个当然用List里面的removeAll方法了,但是有朋友说能不能不用removeAll呀
于是我就写了如下代码:
List l = ...;
List list = ....;
for(int i=0;i
String s = l.get(i);
if(list.contains(s)){
l.remove(s);
}
}
因为两个list读取的文件,运行后看着没什么错,后来无聊用了removeAll,发现结果不一样。
看代码没什么问题呀,后来经过反复实验,终于发现原来:List每remove掉一个元素以后,后面的元素都会向前移动,此时如果执行i=i+1,则刚刚移过来的元素没有被读取。
解决方法:
在remove掉一个元素后,把i减1,代码如下:
List l = ...;
List list = ....;
for(int i=0;i
String s = l.get(i);
if(list.contains(s)){
l.remove(s);
i--;
}
}
百度之后又发现另外两种方法:
1、倒过来遍历list
List l = ...;
List list = ....;
for(int i=l.length;i>=0;i--){
String s = l.get(i);
if(list.contains(s)){
l.remove(s);
}
}
2、使用iterator.remove()方法删除
List l = ...;
List list = ....;
for (Iterator it = list.iterator(); it.hasNext();) {
String s = (String)it.next();
if (list.contains(s)){
it.remove();
}
}
java list移除符合条件的元素_从List中移除指定 List 中包含的其所有元素(可选操作)。...相关推荐
- 找到符合条件的索引_程序员写了多年CRUD,总结出数据库索引这几点值得注意...
索引,被称之为数据库的目录,可以让我们快速地找到对应的数据.但是,索引其实是一把双刃剑,如果使用不合理,不仅查询数据的速度不会变快,反而适得其反,让查询变慢. 工作原理 索引是对数据库表中一列或多列的 ...
- python删除符合条件的行_这十道经典Python笔试题,全做对算我输
经常有小伙伴学了Python不知道是否能去找工作,可以来看下这十道题检验你的成果: 1.常用的字符串格式化方法有哪些?并说明他们的区别 a. 使用%,语法糖 print("我叫%s,今年%d ...
- bugku 杂项 就五层你能解开吗_长春老旧小区加装电梯,你家符合条件吗?_媒体_澎湃新闻...
新朋友戳 蓝字关注我们哦! 长春市老旧小区开始加装外置电梯 大家都很关注 很多市民也在想 我家符合加装条件吗? 能申请吗? 伴随着长春市朝阳区3个老旧小区加装电梯工作的结束,这项惠民工程也成为了老百姓 ...
- 找到符合条件的索引_高频面试题:MySQL联合索引的最左前缀匹配原则
前言 之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,最近面试时和面试官交流,发现遗漏了些东西,这里自己整理一下这方面的内容. 最左前缀匹配原则 在mysql建立联 ...
- Java 遍历Map元素并移除符合条件元素
在Java中,如果遍历Map并移除单中的元素,如果使用的是非迭代器模式,非提示ConcurrentModificationException 异常. 实例代码:正确遍历Map元素和移除Map 元素方法 ...
- java list移除符合条件的元素_java List删除指定元素的三种方法
java List删除指定元素有3种方法,分别是普通for循环,增强for循环以及原生的Iterator迭代器循环来删除list中指定的某个元素,非常的简单. 1:普通for循环遍历list,并删除指 ...
- Java查询对象中匹配元素_用LinkedList如何实现搜索指定对象的元素
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import static java.lang.System.out; import java.util.*; public class TestLink ...
- js 数组遍历符合条件跳出循环体_在JavaScript中循环遍历数组
你有几个选择: 1.顺序for循环: var myStringArray = ["Hello","World"]; var arrayLength = mySt ...
- java二维数组数字数显次数_【每日一题】118.数组中数字出现的次数
关注我们获取更多计算机考研信息 ? 今日习题 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次.请找出那个只出现一次的数字. 示例 1: 输入:nums = [3,4,3,3] ...
最新文章
- 核磁共振影像数据处理-1(下)-DWI基础、Li‘s have a solution and plan.
- 运维部门工作总结_2018年度工作总结
- MyBatis源码解析【4】反射和动态代理
- DCMTK:OFvariant的单元测试
- [Java基础]反射获取成员方法并使用练习
- c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc
- 使用java.util.zip包实现根据文件目录控制文件的压缩与解压
- 读书笔记:《知道做到》
- 使用Java 10调用C/C++动态链接库dll之HelloWorld
- java读取和写入txt_Java读取和写入txt文件
- 图文详解 MapReduce 工作流程
- java项目集成谷歌登录验证器,给网站添加谷歌验证(我不是机器人)
- 细化(thinning)
- 企业电子邮箱怎么写?企业邮箱登录入口是什么?
- 简述MySQL分区表类型
- 小鼠大脑解剖图分区_科学家们绘制小鼠大脑的详细3D结构图谱
- 腾讯云学生服务器官网地址-腾讯云学生服务器如何购买
- SpringCloud分布式框架
- php redis 清空list_php redis批量删除key的方法
- 8421码到5421码的转换_如何实现用283加法器实现8421码到5421码的转换