HashMap为啥比数组查询速度快?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap为啥比数组查询速度快?相关的知识,希望对你有一定的参考价值。

这个结论不是绝对的。

数组查询按照顺序从0开始向后查询,HashMap是打乱了顺序,所以可能快一些,但不一定。
参考技术A 通过索引访问和更新元素时,Vector和ArrayList的实现有着卓越的性能,因为不
存在除范围检查之外的其他开销。插入元素和删除元素总是要进行数组复制。

Hashmap,Arraylist不是同步的,属于轻量级应用,性能上应该好些。
参考技术B 数组在内存中是连续存放的,查询起来肯定要快多了,而map是通过关键字来查询内容 参考技术C map集合中存放的是键值对 根据键直接取值 不许遍历集合中数据!! 参考技术D 你为什么会觉得HashMap更快。。集合里面数组是最快的

HashMap和HashTable的区别

1.HashMap采用了数组+链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改。

2.HashMap是非Synchronized,所以HashMap比HashTable更快。

3.HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashMap是后出的API经过处理才可以)

以上是关于HashMap为啥比数组查询速度快?的主要内容,如果未能解决你的问题,请参考以下文章

HashMap为什么比数组查询快

hashMap实现原理

为啥创建 HashMap 比创建 Object[] 更快?

HashMap详细解释+全站最硬核手撕源码分析

HashMap详细解释+全站最硬核手撕源码分析

为啥 ArrayList 以 1.5 的速度增长,而 Hashmap 却是 2?