HashMap源码分析

简介

Map接口的基于散列表的一种实现,和Hashtable大致相同,除了不支持null值。非线程安全.
HashMap无法保证元素的顺序,特别是,它不能保证顺序会随着时间的推移保持恒定。

类继承关系

HashMap源码分析_第1张图片
可被序列化,可被克隆,继承AbstractMap抽象类,实现Map接口

属性

//默认初始容量
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
//最大容量
static final int MAXIMUM_CAPACITY = 1 << 30;
//负载因子 当达到最大容量的多少时扩容
static final float DEFAULT_LOAD_FACTOR = 0.75f;
//最小树形化容量阈值  转换为树型存储的阈值 >8
static final int TREEIFY_THRESHOLD = 8;
//桶的链表还原阈值  树型转换为普通存储的阈值 <6
static final int UNTREEIFY_THRESHOLD = 6;
//最小树形化容量阈值  只有键值对数量大于 64 才会发生转换
static final int MIN_TREEIFY_CAPACITY = 64;

你可能感兴趣的:(#,集合源码)