论述题 20.  Iterator和Enumeration有什么区别?
【正确答案】Enumeration接口是JDK1.0时推出的,是最好的迭代输出接口,最早使用Vector(现在推荐使用ArrayList)时就是使用Enumeration接口进行输出。在JDK1.5之后,为Enumeration类进行了扩充,增加了泛型的操作应用。Enumeration接口常用的方法有hasMoreElements()(判断是否有下一个值)和nextElement()(取出当前元素),Iterator提供了remove方法,该方法可以删除容器里的元素,而Enumeration只能读取容器中的元素,不能删除,它们的使用方法如下例所示:
   import java.util.List;
   import java.util.ArrayList;
   import java.util.Collections;
   import java.util.Enumeration;
   import java.util.Iterator;
   public class Test{
   public static void main(String[]args)
   {
   List<String>1=new ArrayList<String>();
   1.add("a");
   1.add("b");
   1.add("c");
   Iterator<String>iter=1.iterator();
   while(iter.hasNext())
   {
   if(iter.next().equals("b"))
   iter.remove();
   }
   Enumeration<String>enumList=Collections.enumeration(1);
   while(enumList.hasMoreElements())
   {
   System.out.println(enumList.nextElement());
   }
   }
   }
   程序的运行结果为:
   a
   c
【答案解析】