什么是HashMap
基于哈希表的一个Map接口实现,存储的对象是一个键值对对象(Entry《K,V》);
HashMap补充说明
基于数组和链表实现,内部维护着一个数组table,该数组保存着每个链表的表头结点;查找时,先通过hash函数计算key的hash值,再根据key的hash值计算数组索引(取余法),然后根据索引找到链表表头结点,然后遍历查找该链表;
HashMap数据结构
画了个示意图,如下,左边的数组索引是根据key的hash值计算得到,不同hash值有可能产生一样的索引,即哈希冲突,此时采用链地址法处理哈希冲突,即将所有索引一致的节点构成一个单链表;
HashMap继承的类与实现的接口
Map接口,方法的含义很简单,基本上看个方法名就知道了,后面会在HashMap源码分析里详细说明
AbstractMap抽象类中定义的方法
HashMap源码分析,大部分都加了注释
简单使用示例
技术专区
- 什么是HashMap HashMap数据结构分析
- 解决不重复序列全排列问题的两个方法
- Linux gunzip命令解析 gunzip解压文件的方法
- Unix和Linux存在什么关系
- 浅谈领域场景分析的6W模型