我是java的新手,
我想遍历Vector
中的元素。当我使用 Iterator
/ Enumeration
接口时,我得到了相同的结果。
由于Vector
已同步,因此速度很慢。如果我使用 Iterator
/ Enumeration
,它是否会提升任何方面的效果。
这是我尝试过的事情
import java.util.*;
class vectorClass{
public static void main(String args[]){
Vector<String> vector = new Vector<String>();
vector.add("This is a vector Example\n");
vector.add("This is a next line!");
Enumeration en = vector.elements();
while(en.hasMoreElements()){
System.out.print(en.nextElement());
}
System.out.println();
Iterator en1 = vector.iterator();
while(en1.hasNext()){
System.out.print(en1.next());
}
}
}
O / P:
这是一个矢量示例
这是下一行!
这是一个矢量示例
这是下一行!
答案 0 :(得分:1)
Enumeration
或Iterator
之间没有性能差异。但是,我会促使使用Iterator
,因为Enumeration
现已弃用(来自文档):
注意:此接口的功能由 迭代器接口。此外,Iterator添加了一个可选的删除 操作,并具有较短的方法名称。新的实现应该 考虑使用Iterator优先于Enumeration。
顺便说一句,如果您不被迫使用Vector
,请使用ArrayList
,因为Vector
由于持续同步而速度较慢但仍然不是线程安全的。有关详细信息,请参阅this answer。
从javadoc中,还建议使用ArrayList
代替Vector
:
与新的集合实现不同,Vector是同步的。如果 不需要线程安全的实现,建议使用 ArrayList代替Vector。