hash冲突的解决方法 如何去重HashSet中的重复对象?

如何去重HashSet中的重复对象?集合将自动重复,这意味着集合中的元素具有相同的内存地址。例如user1=newuser()用户名.setName(“abc”)user2=newUser()用户名.

如何去重HashSet中的重复对象?

集合将自动重复,这意味着集合中的元素具有相同的内存地址。

例如

user1=newuser()用户名.setName(“abc”)

user2=newUser()用户名.setName(“ABC”)这里,user1和user2的内存地址是不同的(在堆中每个都有自己的地址)。虽然它们都可以用getname获取ABC,但它们不是“==”

如果此时user3=user1

,user3==user1在堆栈中只有不同的引用名,但它们并不相同,因为它们指向相同的内存地址。

因此,将user1和user2add添加到HashSet时,集的大小将为2。如果将user1和user3放在HashSet中,则该集将重复,大小将为1