代码如下:
MyKey.java文件:
public class MyKey {
private String name = null;
private int age = 0;
public MyKey(String name, int age) {
this.name = name;
this.age = 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;
}
} else {
return false;
}
}
public int hashCode() {
return name.hashCode() + age;
}
public String toString() {
return name + "," + age;
}
}
HashtableTest.java文件:
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 + "=");
System.out.println(numbers.get(key));
}
System.out.println(numbers.get(new MyKey("zhangsan", 18)));
}
}
运行结果:
这里面还有蛮多不懂,要深刻理解。