Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 迭代器或枚举,我应该使用什么?_Java_Vector - Fatal编程技术网

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

我是java的新手, 我想遍历
向量中的元素。当我使用
迭代器
/
枚举
接口时,我得到了相同的结果

As
Vector
速度较慢,因为它是同步的。如果我使用
迭代器
/
枚举
,它会在任何方面提高性能吗

这是我试过的

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
,在没有问题的地方。