hashmap

为什么转红黑树需要链表长度大于8且容量大于64?
因为红黑树需要进行左旋,右旋,变色操作来保持平衡,
所以当数组长度小于64,使用数组加链表比使用红黑树查询速度要更快、效率要更高

为什么默认加载因子是0.75?
加载因子大于1时,hash碰撞概率较高,会导致查询效率降低(时间换空间)
加载因子小于0.5时,hash碰撞概率低,会不断扩容,浪费空间(空间换时间)
0.50.50.5…极限约等于0.688…,0.5表示发生数组元素要么hash碰撞,要么不碰撞
java折中取值0.75

为什么链表转红黑树的阈值是8?
泊松分布

你可能感兴趣的:(java,java,链表,数据结构)