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() 方法是个安全的做法。