提问者:小点点

hashCode()、equals()在维护集合中用户定义对象的唯一性时的行为?


当在应用程序上工作时,我想为我的值对象(用户定义的VO)丢弃重复的条目,我通过覆盖hashCode()、equals()方法使用了Set数据结构。

我尝试了几次迭代,它工作得很好,但我想了解的是,独特性实际上是如何保持的?是用新对象替换旧对象,还是简单地忽略新对象?

因为它们是一样的,我怎么在上面检查呢?

谢谢


共1个答案

匿名用户

根据javadoc: [Set.add()]将指定的元素添加到这个集合中(如果它还不存在的话)。如果该集合已经包含元素,则调用保持集合不变,并返回false。所以回答你的问题“是旧的对象被新的替换了还是新的被忽略了?”新的被忽略了吗