`

HashMap还是ArrayList?

阅读更多

HashMap还是ArrayList,哪个速度快?

ArrayList的contains方法,只会依次遍历元素,和目标元素调用equals比较;

HashMap(HashSet也是通过HashMap实现的)的containsKey方法,首先算目标元素的hash值,然后算桶,再到桶里面去依次比较hash值,每个桶都是一个LinkedList;

大数据量一定是HashMap快O(1),而ArrayList是O(N)。

不过小数据量的时候,比如元素个数只有一个桶或者一个多桶的时候(默认每个桶8个元素),ArrayList要快些。

 

文章系本人原创,转载请注明作者和出处

分享到:
评论

相关推荐

    asp hashmap,arraylist实现

    标题中的“asp hashmap,arraylist实现”指的是在ASP(Active Server Pages)编程中使用HashMap和ArrayList这两种数据结构的具体应用。HashMap和ArrayList是.NET框架中常用的数据集合类,它们在处理和组织数据方面各...

    ArrayList集合与HashMap的扩容原来.docx

    ArrayList集合与HashMap的扩容原来 ArrayList扩容原理 ArrayList集合的底层是数组,特点是查询快增删慢。当创建一个集合时,ArrayList集合的空参构造底层数组默认长度为 0,即new Object[0]。当添加第一个元素时,...

    深入arraylist,linkedlist,hashmap,hashset源码(2012/3/18)

    在Java编程语言中,ArrayList、LinkedList、HashMap和HashSet是四个非常重要的集合类,它们分别代表了不同类型的数据结构。这篇文章将深入探讨这些类的源码,以帮助我们更好地理解和运用它们。 首先,ArrayList是一...

    ArrayList,HashMap

    ArrayList和HashMap是Java编程语言中两种非常重要的集合类,它们都是Java集合框架(Collections Framework)的一部分,用于存储和管理对象。ArrayList属于List接口的实现,而HashMap则实现了Map接口。两者在用途、...

    java对象容器(涉及HashMap,ArrayList,Set等)

    在Java中,最常见的对象容器包括ArrayList、List、Set和HashMap等。这些容器各自具有不同的特性和用途,理解并熟练掌握它们对于提升Java编程能力至关重要。 ArrayList是Java集合框架中的一个动态数组,它允许我们在...

    比较Vector、ArrayList和hashtable hashmap

    - HashMap 和 Hashtable 都实现了 Map 接口,HashMap 更快但不是线程安全的,而 Hashtable 是线程安全但较慢。WeakHashMap 则使用弱引用作为键,有助于防止内存泄漏。 - 在选择使用哪种数据结构时,需要考虑性能需求...

    经典讲解List和ArrayList和Vector和HashTable和HashMap区别

    在Java编程语言中,集合框架是处理对象数组的重要工具,其中`List`、`ArrayList`、`Vector`、`HashTable`和`HashMap`是五个关键的接口和类,它们各有不同的特性和用途。以下是这些概念的详细解释: 1. **List接口**...

    比较分析Vector、ArrayList和hashtable hashmap数据结构

    比较分析Vector、ArrayList和hashtable hashmap数据结构

    Java中用hashmap实现购物车

    Java语言使用hashmap实现向购物车添加删除修改商品,显示商品信息

    oop-ex-java:Java 中带有 Hashmap 和 Arraylist 的 OOP 示例

    在这个名为"oop-ex-java"的项目中,我们将会探讨如何使用HashMap和ArrayList这两种Java集合框架中的关键类来实现OOP概念。HashMap是一种基于散列的键值对存储结构,而ArrayList则是一个动态数组,用于存储可变数量的...

    集合,ArrayList,hashmap

    集合,ArrayList,hashmap

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别 List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List...

    51. ArrayList LinkedList Set HashMap介绍.txt

    ### ArrayList #### 简介 `ArrayList` 是 Java 中的一种动态数组实现方式,它允许在运行时调整其大小。`ArrayList` 实现了 `List` 接口,并且内部通过一个数组来存储数据。当添加元素导致数组空间不足时,`...

    hashmap 实例

    在本文中,我们将深入理解 HashMap 的实例及其工作原理,并与其他数据结构如 Vector、ArrayList、LinkedList 和 Hashtable 进行对比。 首先,我们来看 HashMap 的实例代码: ```java HashMap hashmap = new ...

    02-Java集合容器面试题-重点.docx

    在多线程环境下,如何使用ArrayList?如何确保一个集合不能被修改?Collection接口List接口迭代器Iterator是什么?Iterator怎么使用?有什么特点?如何边遍历边移除Collection中的元素?Iterator和ListIterator有...

    ArrayList和HashMap如何自己实现实例详解

    ArrayList和HashMap是Java编程语言中两种常用的集合类,它们分别实现了List接口和Map接口,用于存储和操作数据。在本实例中,我们将探讨如何自己实现这两个数据结构,以加深对它们工作原理的理解。 首先,ArrayList...

    flash cs6中导入外部的swc文件,as3的使用的ArrayList,Set,Hashmap等工具包

    在AS3中,我们经常会用到几种数据结构,如ArrayList、Set和HashMap,这些数据结构在处理和组织数据时非常有用。这篇博客(尽管链接无法直接查看)可能详细介绍了如何在Flash CS6中导入外部的SWC文件,并在AS3项目中...

    js 集合类实现 (HashMap, Set, ArrayList, etc.)

    本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好地理解和应用这些数据结构。 **1. HashMap** 在Java中,HashMap是一个散列映射容器,它...

Global site tag (gtag.js) - Google Analytics