List中安全地删除对象
2017-02-07 14:56
274 查看
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorTest{
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("Test1");
list.add("Test2");
list.add("Test3");
list.add("Test4");
list.add("Test5");
for(Iterator<String> it = list.iterator();it.hasNext();){
if(it.next().equals("Test3")){
it.remove();
}
}
for(String s : list){
System.out.println(s);
}
}
}
Iterator支持从源集合中安全地删除对象,只需在Iterator上调用remove()即可。这样做的好处是可以避免ConcurrentModifiedException,这个异常顾名思意:当打开Iterator迭代集合时,同时又在对集合进行修改。有些集合不允许在迭代时删除或添加元素,但是调用Iterator的remove() 方法是个安全的做法。
import java.util.Iterator;
import java.util.List;
public class IteratorTest{
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("Test1");
list.add("Test2");
list.add("Test3");
list.add("Test4");
list.add("Test5");
for(Iterator<String> it = list.iterator();it.hasNext();){
if(it.next().equals("Test3")){
it.remove();
}
}
for(String s : list){
System.out.println(s);
}
}
}
Iterator支持从源集合中安全地删除对象,只需在Iterator上调用remove()即可。这样做的好处是可以避免ConcurrentModifiedException,这个异常顾名思意:当打开Iterator迭代集合时,同时又在对集合进行修改。有些集合不允许在迭代时删除或添加元素,但是调用Iterator的remove() 方法是个安全的做法。
相关文章推荐
- 找出list中的不同元素、删除两个list中相同的对象
- 如何从List集合中删除对象
- Android开发遇到的坑(1):Java中List的安全删除问题
- 如何从List,ArrayList集合中删除对象,或者其他数据
- 删除对象的list出现的问题解决
- 删除list中重复的对象
- 如何在list中删除我指定的对象
- 遍历对象的list删除时报错问题。
- 发布一个stl标准库容器类(vector/list)的安全删除方法
- 从集合List中删除对象,正确写法(异常java.util.ConcurrentModificationException
- WTF之安全删除对象
- Iterator的remove方法可保证从源集合中安全地删除对象
- List里面删除相同的对象
- 如何从List集合中删除对象
- list/map中安全删除元素
- Java 删除List中的重复对象
- 删除list或vector中的自定义结构体对象
- 从std list中删除单个指针对象
- 找出list中的不同元素、删除两个list中相同的对象
- List集合如何删除对象