说HashMap的原理,它吸收了数组和链表的优点,那数组是什么,优点是什么,数组的元素存储在内存中是连续的,它的下标就是内存地址,可以根据下标快速找到保存在内存里面的元素,所以它的优点就是查询快;那链表是什么?链表的元素离散存储的,每个元素有自己的存放地址和下个元素的存放地址,增加元素时只需要断开指向,并再指向新元素的地址,删除也一样,只需断开前后指向,后面的元素指向原来的指向地址。HashMap结合了这两个优点,所以hashmap是由数组和链表组成的,HashMap是键值对形式的,插入元素时,根据key的HashCode值和hashmap的length进行&运算来确定数组的下标,这个步骤保证了计算出来的下标在hashmap的length里,然后用前插的形式插入链表中,查询的时候根据像上面一样,根据hashcode去计算出数组的下标,快速定位到是哪个链表,然后从链表中查询元素出来。
HashMap的原理简答
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 概念 HasnMap是基于map接口实现,元素以键值对的方式存储,并且键和值都可以使用null,因为key不允许重...
- Hash表也叫散列表,是一张非常重要的数据结构,很多缓存技术的核心就是在内存中维护一张大的Hash表 简单回顾其他...