如果hash值相同,那两个元素所在表的索引一定一样吗?
如果hash值不同,那两个元素所在表的索引一定不一样嘛?
可能表达不是很准确,其实就是两个元素在不在同一条链表上
hash值相同,第二个元素压根不会添加到set里面
hash值不同,索引肯定不一样
如果hash值相同,那两个元素所在表的索引一定一样吗?
是的
如果hash值不同,那两个元素所在表的索引一定不一样嘛?
是的
HashSet 是多个链表,一个数据进来的时候,进行Hash 计算,如果hash值对应的链表在HashSet 中不存在, 就新建一个新的链表直接存储,如果存在的话, 还要和这个hash值对应的链表的数据做equals对比,找到了就不管了,说明这个值已经存储了, 没找到就在链表的尾部插入。