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

标签 java data-structures collections

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

我尝试了几次迭代,效果很好,但这里我想了解如何保持唯一性?旧对象是否被新对象替换,或者只是新对象被忽略?

由于它们是相同的,我如何检查上面的内容?

谢谢

最佳答案

根据javadoc : [Set.add()] 如果指定元素尚不存在,则将其添加到此集合中。如果该集合已包含该元素,则调用将保持该集合不变并返回 false。因此,回答您的问题“是旧对象被新对象替换还是只是新对象被忽略?”是新对象被忽略

关于java - hashCode()、equals() 在维护 Set 中用户定义对象的唯一性时的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31979428/

相关文章:

java - 带有多个复选框的对话框android源代码

unit-testing - 当 `Result`不是 `Copy`时,设计单元测试

java - 什么是多项式的次数 f(n) = n/20

java - java.util.Collections.reverse() 如何工作?

java - 修改Map中对象的成员

c# - 在 C# 中从另一个列表更新一个列表中的项目的最优雅方法是什么?

java - Tomcat:实现 java.security.Principal

Java接口(interface)和实现

Java : Function local variable initialization

python - python 中的简单类型与复杂类型?