小编Gos*_*pel的帖子

ArrayList和HashSet插入性能测试结果让我困惑

我写了一个类来测试arraylist和hashset之间的插入性能,正如我所期望的,hashset插入性能会比arraylist好得多(也许书欺骗了我),但测试结果让我很困惑

    HashSet<String> hashSet = new HashSet<String>();

    long start = System.currentTimeMillis();
    for (int i = 0; i < 900000; i++) {
        hashSet.add(String.valueOf(i));
    }

    System.out.println("Insert HashSet Time: " + (System.currentTimeMillis() - start));


    ArrayList<String> arrayList = new ArrayList<String>();

    start = System.currentTimeMillis();

    for (int i = 0; i < 900000; i++) {
        arrayList.add(String.valueOf(i));
    }
    System.out.println("Insert ArrayList Time: " + (System.currentTimeMillis() - start));

result:
Insert HashSet Time: 978
Insert ArrayList Time: 287
Run Code Online (Sandbox Code Playgroud)

我多次运行这个主要方法,结果与此之间没有更多不同,插入数组列表时间比插入哈希集时间短得多,任何人都可以解释这个奇怪的结果。

java collections performance

1
推荐指数
1
解决办法
4951
查看次数

标签 统计

collections ×1

java ×1

performance ×1