static final int hash(Object key) {
int h;
return (key ==null) ?0 : (h = key.hashCode()) ^ (h >>>16);
}为什么不直接用hashcode?通过亦或操作,让值更加散列
if ((p = tab[i = (n -1) & hash]) ==null)数组下标为什么是(n -1) & hash?
n是数组大小2的n次方,位运算效率更高,同时和hasn%n效果一样
链表长度超过8转成红黑树(jdk1.8),?
节点<6 红黑树转成链表
链表 n 的查找复杂度O(n)

网友评论