初步怀疑是因为equals比较的是对象的地址值,地址值不同,所以去重没有成功。
重写equals方法,让它比较数据。但是重写之后发现,还是可能有重复。
考虑HashSet使用了哈希存储来存储元素,所以可能跟hashcode()有关。
所以重写hashcode(),让它乘上一个素数。
HashSet存储自定义类型元素去重判断过程
最新推荐文章于 2021-09-10 16:02:03 发布
初步怀疑是因为equals比较的是对象的地址值,地址值不同,所以去重没有成功。
重写equals方法,让它比较数据。但是重写之后发现,还是可能有重复。
考虑HashSet使用了哈希存储来存储元素,所以可能跟hashcode()有关。
所以重写hashcode(),让它乘上一个素数。