文章目录
HashMap API 所有翻译,请查看翻译目录。
静态常量
1. 默认初始容量
2. 最大容量
3. 默认装载因子
以上三个静态常量,与JDK1.7完全相同,详细内容请看此处。
4. 计数阈值
使用一个树,而不是一个列表的一个容器的容器计数阈值。当将一个元素添加到具有至少如此多节点的容器时,容器将转换为树。该值必须大于2,并且至少应为8,以符合在收缩时移除树转换回普通容器的假设。
static final int TREEIFY_THRESHOLD = 8;
// TODO 未完,待补充
成员变量
1. table
表,在首次使用时初始化,并根据需要调整大小。分配时,长度总是2次幂。(在某些操作中我们还容许(tolerate)长度为零,以允许当前不需要的引导机制。)
transient Node<K,V>[] table;
2. entrySet
持有缓存的 entrySet()
。注意,AbstractMap
字段用于keySet()
和values()
。
transient Set<Map, Entry<K,V>> entrySet;
3. size
4. modCount 结构化修改次数
5. threshold 阈值
6. loadFactor 装载因子
如果尚未分配表数组,则此字段保留初始数组容量,或者零表示DEFAULT_INITIAL_CAPACITY
。
size
、threshold
、loadFactor
、modCount
等成员变量,与JDK1.7版完全相同,详细内容请看此处。