当前位置: 代码迷 >> Java相关 >> 利用Hashtable类检索数据覆盖hashCode()方法时,是否有什么规律可以遵循?就 ...
  详细解决方案

利用Hashtable类检索数据覆盖hashCode()方法时,是否有什么规律可以遵循?就 ...

热度:238   发布时间:2006-03-02 09:04:00.0
利用Hashtable类检索数据覆盖hashCode()方法时,是否有什么规律可以遵循?就比如这

就比如下面这个程序:
import java.util.*;
public class HashtableTest
{
public static void main(String []args)
{
Hashtable numbers=new Hashtable();
numbers.put(new MyKey("zhangsan",18),new Integer(1));
numbers.put(new MyKey("Lisi",15),new Integer(2));
numbers.put(new MyKey("Wangwu",20),new Integer(3));
Enumeration e=numbers.keys();
while(e.hasMoreElements())
{
MyKey key=(MyKey)e.nextElement();
System.out.print(key.toString()+"=");
System.out.println(numbers.get(key).toString());
}
}
}

class MyKey
{
private String name;
private int age;
public MyKey(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return new String(name+","+age);
}
public boolean equals(Object obj)
{
MyKey m=(MyKey)obj;
if(name.equals(m.name)&& age==m.age)
return true;
else
return false;
}
public int hashCode()
{
return name.hashCode()+age;//就是这里,为什么要+age??
}
}

谢谢!

搜索更多相关的解决方案: Hashtable  hashCode  规律  数据  检索  

----------------解决方案--------------------------------------------------------
  相关解决方案