使用HashSet存储自定义类对象时为什么要重写equals和hashCode方法?

在Java集合的运用中,HashSet抽象类实现了Set接口,我们可以通过HashSet存储Java中定义过的类创建的对象,当然也可以存储我们自定义的类创建的对象。
但是在存储自定义类创建的对象时,就会遇到实际问题导致的漏洞,hash的是产生的对象,并不是对象里面的值,当产生两个对象时,他们里面的值却是相同的,这就会插入两个相同的值进入集合,这不是我们想要的,因此需要重写equals和hashCode方法。

我们和可以对将要存入的对象的值进行hash

posted @ 2019-11-24 23:27  AmosAlbert  阅读(190)  评论(0编辑  收藏  举报