HashMap详解-源码分析
HashMap详解-源码分析
HashMap类声明
源码如下:
1 | public class HashMap<K,V> extends AbstractMap<K,V> |
分析:
- 继承了AbstractMap抽象类,而AbstractMap类已经实现了Map部分接口,可以直接使用
- 实现了Map、Cloneable、Serializable接口,即实现Map接口中的相应方法,支持clone,支持序列化及反序列化
成员变量
源码如下:
1 |
|
分析:
- serialVersionUID:序列化版本号
- DEFAULT_INITIAL_CAPACITY:默认初始化的数组容量
- MAXIMUM_CAPACITY:最大的容量,1>>30即为2的30次方
- DEFAULT_LOAD_FACTOR:默认的扩容因子
- TREEIFY_THRESHOLD:树化的阈值
- UNTREEIFY_THRESHOLD:退化为链表的阈值
- MIN_TREEIFY_CAPACITY: 树的最小容量
- table:用于保存键值对元素的数组
- entrySet:存放具体元素的集合
- size:实际存储元素的个数
- modCount:记录数组长度变化
- threshold:临界值 当实际大小(容量*扩容因子)超过临界值时,会进行扩容
- loadFactor:扩容因子
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 wshawk's blog!