java之list删除的坑
来源:互联网 发布:mysql 执行两条语句 编辑:程序博客网 时间:2024/06/12 20:23
今天码代码,遇到个蛮奇葩的问题,list删除数据,先for循环一遍,然后根据i的值来删除,结果最后发现结果总不是想要的,蛮蛋疼的,小结一下吧。
如果只是要删除list中的一个数据,直接删除就行。
如果遍历一遍list的同时想删除多个数据就要注意了,这个时候要考虑到list的性质,
错误例子:
for(int j=0;j<list.size();j++) {
if(list.get(j).get("prov").toString().equals("ss")) {
list.remove(j);
}
}
潇潇洒洒的写的代码,发现结果不是自己想要的,原因呢?
根本原因就是list每次remove后后面的元素都会向前移动,如果现在i++,那么就会导致错过一个元素,最后删除的不是自己想删除的数据!
正确例子:
for(int j = list.size()-1;j>=0;j--) {
if(list.get(j).get("prov").toString().equals("ss")) {
list.remove(j);
}
}
这里采用倒序的方式来删除,就不会碰到之前的问题了。
阅读全文
0 0
- java之list删除的坑
- java list 遍历删除 的坑。。
- java List的删除操作
- Java中List的安全删除
- Java中list的删除问题
- Java遍历List的时候删除item
- java list 删除重复的,借助map
- Java 集合之List 集合的删除方法顺序分析以及remove和removeAll区别
- Java中List删除
- Android开发遇到的坑(1):Java中List的安全删除问题
- 集合List的删除
- C# List的删除
- leetcode解题之203 # Remove Linked List Elements Java版(删除链表中的和val相等的元素)
- leetcode解题之237# Delete Node in a Linked List Java版 (删除链表中指定的结点)
- JAVA遍历List集合并删除其中的元素
- Java遍历List集合并删除其中的元素
- JAVA List删除时需注意的地方
- Java中删除List中的某些数据的方法
- js中的this关键字详解
- pgsql 除法保持小数位的方法
- 【深度学习】DCGAN图解
- HashMap 与 ConcurrentHashMap
- 简单的反射(代码)
- java之list删除的坑
- DP(记忆化搜索) -- poj Function Run Fun
- es6箭头函数this指向
- C++之shared_ptr总结
- java中Double类型的运算精度丢失的问题 (小数点多出99999999999999)
- opencv(五)--图像的算术运算
- Nginx+Tomcat实现动静分离以及负载均衡
- 关于 redis、memcache、mongoDB 的对比
- 一次ionic3上传图片的经历