Java 6 SE是过时的载体吗?

时间:2011-04-23 11:15:11

标签: java vector

package myjava;
import java.util.*;
public class Vectors {
    public static void vec() {
        Vector v = new Vector();
    }
}

我正在使用net beans IDE 6.9.1,它告诉我它是一个“过时的集合”。 除了显而易见的,它是否已经过时,我会在Java中使用它吗? 我真的很兴奋使用它们。

4 个答案:

答案 0 :(得分:5)

暂时不鼓励使用Vector s。它们被ArrayList取代,{{1}}具有或多或少相同的功能(但未同步)。

答案 1 :(得分:2)

这通常是过时的,是的。就其本质而言,它与具有略微不同增长特征的ArrayList相同; Vector也在每个方法上同步,这意味着每次同步调用都会有(可能的)性能损失。在Java 6上,同步远没有以前版本的Java那么昂贵,但结果仍然是应该有一个强烈的偏好ArrayList而不是Vector。

同样,你应该更喜欢HashMap到HashTable。

答案 2 :(得分:2)

作为上述答案的注释,您还应该使用ArrayList的通用版本,因为非通用版本仅适用于Java 1.4(4)支持。

示例:

//ArrayList of integers
ArrayList<Integer> list = new ArrayList<Integer>();

答案 3 :(得分:2)

java.util.Vector或java.util.Hashtable,虽然仍然受支持,但这些类已被JDK1.2集合类淘汰,并且可能不应在新开发中使用。