HashMap的底层实现原理,哈希表(数组+链表)
如果hash值一样,数据保存在同一个桶中,在保存新元素的时候,需要将新元素和桶中保存的链表中的每个节点做对比(发生hash碰撞),如果链表的长度很长,影响hashmap的性能。Jdk1.8以后,如果链表的长度达到8,自动会将链表转化为二叉树(红黑树,对树的高度有限制)。提高数据查找速度。
HashMap的底层实现原理,哈希表(数组+链表)
如果hash值一样,数据保存在同一个桶中,在保存新元素的时候,需要将新元素和桶中保存的链表中的每个节点做对比(发生hash碰撞),如果链表的长度很长,影响hashmap的性能。Jdk1.8以后,如果链表的长度达到8,自动会将链表转化为二叉树(红黑树,对树的高度有限制)。提高数据查找速度。