public static void main(String[] args) {
ArrayList v1 = new ArrayList();
v1.add(123);
v1.add(153);
v1.add(125);
Enumeration en = v1.elements(); // This line gives error.
v1.add(4000);
while(en.hasMoreElements())
{
System.out.println(en.nextElement());
}
System.out.println(v1);
}
为什么在ArrayList的情况下会出现错误,但在Vector的情况下却没有?
答案 0 :(得分:1)
因为Enumeration
是遗产类
作为Vector
类
List
和Collection
通常更倾向于使用Iterator
来迭代它们的元素。
Iterator
还提供了Enumeration
无法执行的删除操作。
您可以阅读Enumeration
javadoc:
注意:此接口的功能由 迭代器接口。此外,Iterator添加了一个可选的删除 操作,并具有较短的方法名称。新的实现应该 考虑使用Iterator优先于Enumeration。