//需要重写equals和hashCode方法
package joeho.net.csdn.blog;
class MyKey {
private int age = 0;
private String name = "";
/**
* Method equals
*
*
* @return
*
*/
public MyKey(String name,int age){
this.name = name;
this.age = age;
}
public boolean equals(Object obj) {
if(obj instanceof MyKey){
MyKey objMy = (MyKey)obj;
if(name.equals(objMy.name)&& age==objMy.age){
return true;
}else{
return false;
}
}
else{
return false;
}
}
/**
* Method hashCode
*
*
* @return
*
*/
public int hashCode() {
return name.hashCode()+age;
}
/**
* Method toString
*
*
* @return
*
*/
public String toString() {
// TODO: Add your code here
return name+","+age;
}
}
import java.util.*;
public class HashTableTest {
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) {
// TODO: Add your code here
Hashtable hash = new Hashtable();
hash.put(new MyKey("zhangsan",15),new Integer(1));
hash.put(new MyKey("lisi",55),new Integer(2));
hash.put(new MyKey("wangwu",18),new Integer(3));
Enumeration em = hash.keys();
while(em.hasMoreElements())
{
MyKey key=(MyKey)em.nextElement();
System.out.print(key+"=");
System.out.println(hash.get(key));
}
}
}