HashMap的数据结构分析

Posted 彭薄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap的数据结构分析相关的知识,希望对你有一定的参考价值。

jdk提供的HashMap作为一个性能很不错的集合类,其内部结构是如何的呢?


以上的解决方案的思想是集合数组和链表各自的优点结合成为一种数据结构,当发生hash冲突后,从图中可以看出hashmap采用了拉链结构解决。

对于每一个数组元素组成的链表结构称为桶,在获取hashmap元素数量时,以为遍历桶比较浪费时间,所以这点需要在开发过程中注意。

再了解一下hashcode和equals在这个数据结构中的作用,hashcode用于计算元素所在的桶的位置,也就是在ArrayList中的位置,equals用于遍历桶,查看每个桶中的元素是否与需要比较的元素equals。

以上是关于HashMap的数据结构分析的主要内容,如果未能解决你的问题,请参考以下文章

解决哈希冲突方法总结

JDK源码HashMap源码分析

[java源码解析]对HashMap源码的分析

java容器03--HashMap源码分析

HashMap源码分析

HashMap源码分析