java 中List 集合删除元素
2014-03-24 18:09
555 查看
今天做一个排班的功能; 设计的时候需要实现从一个list集合中 删除一个object的操作;
for (HumanWorkTime hwt: hwtList) { if (hwt.getId().equals(tempId)) { hwtList.remove(hwt); } }
然后就抛出了错误;
SEVERE: Servlet.service() for servlet [spring] in context with path [/edu] threw exception [Request processing failed; nested exception is java.util.ConcurrentModificationException] with root cause java.util.ConcurrentModificationException
理论上应该没错呀;
dubug;
发现 代码hwtList.remove(hwt) 并没有抛出错误;
纳闷。。。
逐句查看 发现是在执行过hwtList.remove(hwt)之后, 进入下一个循环的时候 抛错,
仔细观察了一下 , 发现执行过删除操作后 list的size发生改变
恍然大悟, 肯定是集合的长度改变引起的, 所以改成下面的代码,运行通过
for(int i = 0, len = hwtList.size(); i < len; i++) { if (hwtList.get(i).getId().equals(tempHwId)){ hwtList.remove(hwtList.get(i)); len--; i--; } }
相关文章推荐
- Java 集合List删除元素
- java中循环遍历删除List和Set集合中元素的方法(推荐)
- Java中如何循环删除一个集合(如List)中的多个元素
- java中循环遍历删除List和Set集合中元素的方法
- Java集合之List遍历找到匹配元素删除方法总结
- 【Java】集合(List、Set、Map)遍历、删除、比较元素时的小陷阱
- java 删除ArrayList LinkedList集合中的重复元素
- 【Array、List】Java数组或集合中如何删除元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java集合list删除重复元素问题
- Java 集合(List、Set)遍历、判断、删除元素时的小陷阱
- Java集合之List遍历找到匹配元素删除方法总结
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java中如何循环删除一个集合(如List)中的多个元素
- Java删除List和Set集合中元素
- JAVA中,List<Interger>集合怎么删除特定值的元素,不是根据下标
- Java中如何循环删除一个集合(如List)中的多个元素
- java集合循环中删除元素问题以List集合为例
- 编程技巧系列(2)Java 集合(List,Set,Map)遍历时有条件删除特定元素