Vector中的add()方法比在ArrayList中更快

时间:2014-12-13 13:10:35

标签: java arraylist

我想比较班级Vector和班级ArrayList中的加法方法(适用于1000个元素)。

为什么Vector中的添加方法比ArrayList中添加方法更快?

以下是我用来衡量的代码:

public static void main(String[] args) {
    List v = new Vector();
    List l = new ArrayList();
    long startTime = System.nanoTime();
    for (int i = 0; i < 1000; i++) {
        v.add(i);
    }
    long duration = System.nanoTime() - startTime;
    System.out.println("Vector: " + duration + " ns");
    startTime = System.nanoTime();
    for (int i = 0; i < 1000; i++) {
        l.add(i);
    }
    duration = System.nanoTime() - startTime;
    System.out.println("ArrayList: " + duration + " ns");
}

1 个答案:

答案 0 :(得分:1)

由于JVM warmup,结果可能会失真。几次运行测试后,我得到了以下结果:

1553108 [ns]   → Vector.add()
1420628 [ns]  → ArrayList.add()

基准测试是针对10000次插入进行的。