标题:利用Hashtable类检索数据覆盖hashCode()方法时,是否有什么规律可以遵循?就 ...
只看楼主
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
 问题点数:0 回复次数: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 规律 数据 检索 
2006-03-02 09:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-47930-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.358476 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved