2009-07-10 94 views
2

自定义键。如果我们实现哈希表自己的钥匙,然后我们自定义的哈希表键都必须实现实现在哈希表

public int hashCode() 
{ 
} 

public Object equals(Object obj) 
    { 
    } 

会有什么这些方法的实现?

+0

“public Object equals(Object obj)”必须读取“public boolean equals(Object obj)”。 – 2009-07-11 11:13:07

回答

1

在您通过阅读effective java了解后,您可以使用commons lang EqualsBuilderHashCodeBuilder来实现它。如果部件的性能并不十分重要,你甚至可以使用refelction方法是这样的:

public boolean equals(Object obj) { 
    return EqualsBuilder.reflectionEquals(this, obj); 
} 


public int hashCode() { 
    return HashCodeBuilder.reflectionHashCode(this); 
} 

它没有变得更容易:)

0

这些方法用于散列表实施来标识元素,而插入和检索。

  1. 哈希码是等于使用的方法包含,得到等检查密钥存储
  2. 的关键。