HashSet如何保证唯一
1.调用元素的hashCode()方法获取元素的哈希值
2.通过哈希值和数组长度获取元素的存储位置(底层是与运算,可以理解为取余)
3.如果该位置没有元素存在,元素唯一,将该元素存储在该位置
4.如果该位置有元素存在,遍历该位置链表的所有元素,和新存入的元素比较哈希值
5.哈希值都不相同,元素唯一,将该元素存储在该位置
6.哈希值相同,调用equals()方法比较内容是否相同
7.内容不相同,元素唯一,将该元素存储在该位置
8.内容相同,元素不唯一,不存储