概念关键字
哈希桶:数组
链表:单链表
红黑树
扩容
位运算
哈希碰撞
扰动函数
常量定义
DEFAULT_INITIAL_CAPACITY:默认初始容量,缺省为16;
MAXIMUM_CAPACITY:默认最大容量,缺省2的30次方;
DEFAULT_LOAD_FACTOR:默认加载因子,缺省0.75;
TREEIFY_THRESHOLD:桶容量阈值,超过则从链表转换为红黑树;
UNTREEIFY_THRESHOLD:桶容量阈值,低于该值则从红黑树退化为链表;
MIN_TREEIFY_CAPACITY:从链表转换为红黑树的最小数组容量;
内部类Node
实现接口Map.Entry。
成员包括:key,value,next(链表指针),hash。
LinkedHashMap中的静态内部类Entry派生自Node,而HashMap中的静态内部类TreeNode又派生自LinkedHashMap的Entry。
LinkedHashMap.Entry增加了成员before,after用来保证插入顺序;
HashMap.TreeNode增加了成员parent,left,right,prev以及red用来构造红黑树,平衡二叉树能够保证查找效率维持在一定的时间复杂度。
静态方法
hash:计算哈希值