存储步骤:
存储数据到集合中,先计算元素的哈希值
然后把元素放在这个哈希值下面,两个元素不同,但是哈希值相同,会造成哈希冲突,这时,形成链表进行存储元素,如果链表的长度超过8位那么就会把链表转换为红黑树(为了提高查询的速度)
Set集合存储元素不重复的原因:
set集合在调用add方法的时候,add方法会调用元素的hashCode方法和equals方法,判断元素是否重复
计算出一个值的hashCode方法,在集合中没有找到这个元素,发现没有,就会把这个元素存储到集合中,如果有,会调用equals方法进行判断,发返false 就进行存储,返回true就不存储