在Hashtable中实现自定义键

时间:2009-07-10 09:32:32

标签: java

如果我们在Hashtable中实现自己的键,那么我们的自定义哈希表键必须实现

public int hashCode()
{
}

 public Object equals(Object obj)
   {
   }

这些方法的实现是什么?

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

Effective Java 2nd edition对这两种方法有最好的解释:检查血腥细节here

答案 2 :(得分:1)

答案 3 :(得分:1)

通过阅读effective java了解后,您可以使用公共语言EqualsBuilderHashCodeBuilder来实现它。如果零件不是性能关键,你甚至可以使用这样的refelction方法:

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


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

这不容易:)

答案 4 :(得分:0)

这些方法用于哈希表实现,以便在插入和检索时识别元素。

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