List中安全地删除对象

2/10/2017来源:ASP.NET技巧人气:1165

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