请选择时期:
怀孕准备 怀孕 分娩 宝宝0-1岁 宝宝1-3岁 宝宝3-6岁

什么是HashMap(什么是hash表)

来源: 最后更新:24-09-13 12:29:07

导读: HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(在JAVA8中为Node),这个Entry实体主要包含key

HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(在JAVA8中为Node),这个Entry实体主要包含key、value以及一个指向自身的next指针。HashMap是基于hashing实现的,当进行put操作时,根据传递的key值得到它的hashcode,然后再用这个hashcode与数组的长度进行模运算,得到一个int值,就是Entry要存储在数组的位置(下标);当通过get方法获取指定key的值时,会根据这个key算出它的hash值(数组下标),根据这个hash值获取数组下标对应的Entry,然后判断Entry里的key,hash值或者通过equals()比较是否与要查找的相同,如果相同,返回value,否则的话,遍历该链表(有可能就只有一个Entry,此时直接返回null),直到找到为止,否则返回null。

标签: hashmap  

免责声明:本文系转载,版权归原作者所有;旨在传递信息,其原创性以及文中陈述文字和内容未经本站证实。

本文地址:http://www.bbbaike.com/baike/zonghe/1840286.html

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 联系邮箱:kefu#bbbaike.com (请把#替换成@)

关于我们 | 广告服务 | 网站合作 | 免责声明 | 联系我们| 网站地图

© 2022-2024 宝宝百科网 all rights reserved. 沪ICP备2023005727号-4