生活知识
生活知识
数码知识
教育知识
汽车知识
游戏知识
办公知识
装修知识
旅游知识
搜索

生活知识分类 日常知识 生活知识 餐饮知识 宠物知识 运动知识 更多知识 中文DJ 英文DJ 车载DJ 视频DJ

什么是HashMap 什么是HASH

日期:2022-12-20 09:41:23人气:20

导读:什么是HashMap:HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(在JAVA8中为Node),这个Entry实体主要包含key、value以及一个指向自身的next指针。HashMap是基于hashing

什么是HashMap

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。

语音朗读

广告位1

声明: 本站所有文章来自互联网搜索结果, 如果侵犯到你的权益 请提供版权证明来信告知,我们会在3个工作日之内删除 本站为非赢利性网站 不接受任何赞助和广告

Copyright 2022-2023 32h.pingguodj.com 32号百科 客服邮箱:s2s2s2-s@outlook.com