树化专题

Java重修笔记 第四十四天 HashSet 添加元素规则、树化规则和扩容规则

添加元素规则 1. HashSet 底层是 HashMap,所以他俩的逻辑是一样的 2. 添加一个元素时,先得到 hash 值再转成索引值(Hash值来自于却不等于HashCode()的值) 3. 看这个存储数据表 table 的索引位置是否已经存放有元素 4. 如果没有,直接加入  5. 如果有,则调用对象的 equals() 方法逐一进行比较,如果有相同的,就放弃添加,如果都不相

HashMap之链表转红黑树(树化 )-treefyBin方法源码解读(所有涉及到的方法均有详细解读,欢迎指正)

PS:由于文档是我在本地编写好之后再复制过来的,有些文本格式没能完整的体现,故提供下述图片,供大家阅览,以便有更好的阅读体验: