Java 迭代器或枚举,我应该使用什么?
我是java的新手, 我想遍历Java 迭代器或枚举,我应该使用什么?,java,vector,Java,Vector,我是java的新手, 我想遍历向量中的元素。当我使用迭代器/枚举接口时,我得到了相同的结果 AsVector速度较慢,因为它是同步的。如果我使用迭代器/枚举,它会在任何方面提高性能吗 这是我试过的 import java.util.*; class vectorClass{ public static void main(String args[]){ Vector<String> vector = new Vector<String>(); vect
向量中的元素。当我使用迭代器
/枚举
接口时,我得到了相同的结果
AsVector
速度较慢,因为它是同步的。如果我使用迭代器
/枚举
,它会在任何方面提高性能吗
这是我试过的
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());
}
}
}
import java.util.*;
类向量类{
公共静态void main(字符串参数[]){
向量=新向量();
add(“这是一个向量示例\n”);
add(“这是下一行!”);
枚举en=vector.elements();
while(en.hasMoreElements()){
System.out.print(en.nextElement());
}
System.out.println();
迭代器en1=vector.Iterator();
while(en1.hasNext()){
System.out.print(en1.next());
}
}
}
O/p:
这是一个向量示例
这是下一行
这是一个向量示例
这是下一行
枚举
或迭代器
之间没有性能差异。但是,我会鼓励使用迭代器
,因为枚举
现在已被弃用(来自文档):
注意:此接口的功能由
迭代器接口。此外,迭代器还添加了一个可选的remove
操作,并具有较短的方法名。新的实现应该
考虑使用枚举优先的迭代器。< /P>
顺便说一下,如果不强制使用Vector
,请改用ArrayList
,因为Vector
由于持续同步而速度较慢,但仍然不是线程安全的。有关详细信息,请参阅
在javadoc中,还建议使用ArrayList
而不是Vector
:
与新的集合实现不同,Vector是同步的。如果
不需要线程安全的实现,建议使用
ArrayList代替矢量
您不应该真正使用Vector
,您应该使用ArrayList
,在没有问题的地方。