HashSet集合的底层数据结构是哈希表
哈希表保证元素的唯一性:依赖两个方法:hashCode()和equals()。
顺序:首先判断对象的hashCode()在哈希表中是否存在相同哈希值;
是:继续走equals(),依次与同一哈希值下的各元素比较是否相同,看其返回值;
返回true:说明元素重复了,不添加。
返回false:就直接添加到集合。
否:直接添加到集合中。
当我们用HashSet存储自定义对象时,需要重写hashCode()和equals()方法
另外HashSet集合contains()以及remove()方法也是依赖于hashCode()和equals()方法。
当我们用HashSet存储自定义对象时,需要重写hashCode()和equals() |