import java.util.*; 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) { if(obj instanceof MyKey) { MyKey objTemp = (MyKey)obj; if(name.equals(objTemp.name) && age==objTemp.age) { return true; } else { return false; } } //假如obj不是MyKey类的实例对象,它就不可能与当前对象相等了 else { return false; } } public int hashCode() { return name.hashCode() + age; } } 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()); } } }
红色部分或者这么写
public boolean equals(Object obj)
{
MyKey mk=null;
if(obj instanceof MyKey)
mk=(MyKey)obj;
else
return false;
if(name.equals(this.name)&&age==this.age)
return true;
else
return false;
}
嘎嘎
时间: 2024-09-18 05:18:03