什么是HashMap HashMap数据结构分析

嵌入式技术

1368人已加入

描述

什么是HashMap

基于哈希表的一个Map接口实现,存储的对象是一个键值对对象(Entry《K,V》);

HashMap补充说明

基于数组和链表实现,内部维护着一个数组table,该数组保存着每个链表的表头结点;查找时,先通过hash函数计算key的hash值,再根据key的hash值计算数组索引(取余法),然后根据索引找到链表表头结点,然后遍历查找该链表;

HashMap数据结构

画了个示意图,如下,左边的数组索引是根据key的hash值计算得到,不同hash值有可能产生一样的索引,即哈希冲突,此时采用链地址法处理哈希冲突,即将所有索引一致的节点构成一个单链表;

hashmap

HashMap继承的类与实现的接口

hashmap

Map接口,方法的含义很简单,基本上看个方法名就知道了,后面会在HashMap源码分析里详细说明

hashmap

AbstractMap抽象类中定义的方法

hashmap

HashMap源码分析,大部分都加了注释

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

hashmap

简单使用示例

hashmap

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分