说HashMap的原理,它吸收了数组和链表的优点,那数组是什么,优点是什么,数组的元素存储在内存中是连续的,它的下标就是内存地址,可以根据下标快速找到保存在内存里面的元素,所以它的优点就是查询快;那链表是什么?链表的元素离散存储的,每个元素有自己的存放地址和下个元素的存放地址,增加元素时只需要断开指向,并再指向新元素的地址,删除也一样,只需断开前后指向,后面的元素指向原来的指向地址。HashMap结合了这两个优点,所以hashmap是由数组和链表组成的,HashMap是键值对形式的,插入元素时,根据key的HashCode值和hashmap的length进行&运算来确定数组的下标,这个步骤保证了计算出来的下标在hashmap的length里,然后用前插的形式插入链表中,查询的时候根据像上面一样,根据hashcode去计算出数组的下标,快速定位到是哪个链表,然后从链表中查询元素出来。
HashMap的原理简答
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 概念 HasnMap是基于map接口实现,元素以键值对的方式存储,并且键和值都可以使用null,因为key不允许重...
- Hash表也叫散列表,是一张非常重要的数据结构,很多缓存技术的核心就是在内存中维护一张大的Hash表 简单回顾其他...