HashMap底层原理,常见面试题
- 存储在Node中的hash值, 是否就是key的hashCode()?
不是,hash值是经过计算,key.hashcode() ^ (h>>>16)
2.如何知道一个节点到底存储在Hash表(散列表)的哪个位置?
计算节点的中的key的hash值,如果下标只有这一个节点,直接插入,如果下标有值,则进行链表和树的查找.
3. 什么时候需要把链表转为红黑树?
当一个节点的链表长度达到8,并且数组的长度>=64
4.什么时候扩容?
HashMap底层原理,常见面试题
不是,hash值是经过计算,key.hashcode() ^ (h>>>16)
2.如何知道一个节点到底存储在Hash表(散列表)的哪个位置?
计算节点的中的key的hash值,如果下标只有这一个节点,直接插入,如果下标有值,则进行链表和树的查找.
3. 什么时候需要把链表转为红黑树?
当一个节点的链表长度达到8,并且数组的长度>=64
4.什么时候扩容?