Java集合类性能对比实例

原创 怼烎@ 2024-11-08 17:03 60阅读 0赞

Java集合类是Java中非常重要的一部分,它们提供了存储和处理数据的多种方式。以下是一些常用的Java集合类及其性能对比的简单实例:

  1. ArrayList vs LinkedList
  • ArrayList是基于动态数组实现的,适合快速随机访问。
  • LinkedList是基于双向链表实现的,适合频繁的插入和删除操作。

    ```java// ArrayList性能测试 long startTime = System.nanoTime();
    ArrayList arrayList = new ArrayList<>();
    for (int i =0; i <10000; i++) {
    arrayList.add(i);
    }
    for (int i =0; i <10000; i++) {
    arrayList.get(i);
    }
    long endTime = System.nanoTime();
    System.out.println(“ArrayList测试耗时: “ + (endTime - startTime) + “ns”);

// LinkedList性能测试 startTime = System.nanoTime();
LinkedList linkedList = new LinkedList<>();
for (int i =0; i <10000; i++) {
linkedList.add(i);
}
for (int i =0; i <10000; i++) {
linkedList.get(i);
}
endTime = System.nanoTime();
System.out.println(“LinkedList测试耗时: “ + (endTime - startTime) + “ns”);
```2. HashSet vs TreeSet

  • HashSet是基于哈希表实现的,适合快速插入、删除和查找操作。
  • TreeSet是基于红黑树实现的,适合有序数据的插入、删除和查找操作。

    ```java// HashSet性能测试 startTime = System.nanoTime();
    HashSet hashSet = new HashSet<>();
    for (int i =0; i <10000; i++) {
    hashSet.add(i);
    }
    for (int i =0; i <10000; i++) {
    hashSet.contains(i);
    }
    endTime = System.nanoTime();
    System.out.println(“HashSet测试耗时: “ + (endTime - startTime) + “ns”);

// TreeSet性能测试 startTime = System.nanoTime();
TreeSet treeSet = new TreeSet<>();
for (int i =0; i <10000; i++) {
treeSet.add(i);
}
for (int i =0; i <10000; i++) {
treeSet.contains(i);
}
endTime = System.nanoTime();
System.out.println(“TreeSet测试耗时: “ + (endTime - startTime) + “ns”);
```3. HashMap vs TreeMap

  • HashMap是基于哈希表实现的,适合快速插入、删除和查找操作。
  • TreeMap是基于红黑树实现的,适合有序数据的插入、删除和查找操作。

    ```java// HashMap性能测试 startTime = System.nanoTime();
    HashMap hashMap = new HashMap<>();
    for (int i =0; i <10000; i++) {
    hashMap.put(i, “Value” + i);
    }
    for (int i =0; i <10000; i++) {
    hashMap.get(i);
    }
    endTime = System.nanoTime();
    System.out.println(“HashMap测试耗时: “ + (endTime - startTime) + “ns”);

// TreeMap性能测试 startTime = System.nanoTime();
TreeMap treeMap = new TreeMap<>();
for (int i =0; i <10000; i++) {
treeMap.put(i, “Value” + i);
}
for (int i =0; i <10000; i++) {
treeMap.get(i);
}
endTime = System.nanoTime();
System.out.println(“TreeMap测试耗时: “ + (endTime - startTime) + “ns”);
```这些测试可以帮助你了解不同集合类在不同操作下的性能表现。实际应用中,选择哪种集合类取决于你的具体需求,如数据的大小、操作的类型等。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,60人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java集合性能对比实例

    在Java中,由于各种集合类型(如List、Set和Map)有不同的内部结构和操作方式,因此它们的性能会有所差异。下面我们将通过一个具体的例子来对比这些集合类。 假设我们需要

    相关 Java集合性能对比实例

    Java集合类是Java中非常重要的一部分,它们提供了存储和处理数据的多种方式。以下是一些常用的Java集合类及其性能对比的简单实例: 1. **ArrayList vs L

    相关 Java集合性能对比问题分析

    在Java编程中,处理大量数据时,我们常常需要使用各种集合类来存储和操作。然而,不同的集合类在性能上可能存在差异。下面我们将从以下几个方面对这个问题进行分析: 1. 内存占用