【发布时间】:2015-10-31 12:40:07
【问题描述】:
contains-method 如何判断某个对象是否在 HashSet 中?我创建了一个带有两个实例变量的类。然后我将一些实例放入 HashSet。我再次创建了相同的实例(具有相同的实例变量值)并将它们用作包含方法的输入。尽管是相同的对象,但“包含”每次都返回 false。 所以,我想知道是否只检查引用或对象的值。如果我必须拥有相同的对象,并且将一个对象放入 HashSet 并使用另一个对象调用“包含”方法,那么该方法将返回 true 还是 false? 如果为假,我该怎么做才能返回真?
【问题讨论】:
-
那是什么语言?爪哇?
-
该文档告诉您在哈希集的特定情况下
contains的合同。它告诉你它如何认为 2 个对象是同一个键。 -
哦,是的,对不起。这是JAVA..
-
如果您将自定义类的实例存储在
HashSet(或任何Set)中,请确保正确覆盖该类中的equals和hashCode方法。否则,Set中的两个对象仅在它们是同一对象 (==) 时才被视为相等。
标签: java collections set contains hashset