代码和问题:
import java.util.*;
public class TestHashTable { public static void main(String[] args) {
// TODO Auto-generated method stub
Hashtable h=new Hashtable();
MyKey z = new MyKey("zhangsan",18);
h.put(z,new Integer(1));
h.put(new MyKey("wangwu",12),new Integer(2));
h.put(new MyKey("lisi",29),new Integer(3));
Enumeration e=h.keys();
while(e.hasMoreElements())
{
MyKey key=(MyKey)e.nextElement();
System.out.print(key.tostring()+"=");
System.out.println(h.get(key));
}
System.out.println(h.get(z));
System.out.println(h.get(new MyKey("lisi",29)));///有问题,取不出3,显示NULL,哪里错了? }
}
class MyKey {
private String name=null;
private int age=0;
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(new String(name+","+age));
}
}
MyKey覆盖了equals和hashcode两个方法
import java.util.*;
public class TestHashTable { public static void main(String[] args) {
// TODO Auto-generated method stub
Hashtable h=new Hashtable();
MyKey z = new MyKey("zhangsan",18);
h.put(z,new Integer(1));
h.put(new MyKey("wangwu",12),new Integer(2));
h.put(new MyKey("lisi",29),new Integer(3));
Enumeration e=h.keys();
while(e.hasMoreElements())
{
MyKey key=(MyKey)e.nextElement();
System.out.print(key.tostring()+"=");
System.out.println(h.get(key));
}
System.out.println(h.get(z));
System.out.println(h.get(new MyKey("lisi",29)));///有问题,取不出3,显示NULL,哪里错了? }
}
class MyKey {
private String name=null;
private int age=0;
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(new String(name+","+age));
}
}
MyKey覆盖了equals和hashcode两个方法
解决方案 »
- 关于oracle的PreparedStatement.getUpdateCount
- 请求帮助,图片旋转后的问题,让我百思不得其解
- java调用.sh文件备份oracle数据库的问题
- 请问 paint()和paintComponent()有什么区别呢?
- 菜鸟问题,关于对话框的,大家帮帮忙:)
- Jmenu如何响应键盘事件?不是指快捷方式
- 请问堆(Heap)与栈(Stack)的区别。。谢谢
- BUICK555(王飞)祝大家节日快乐!散分!
- 请问:在一个jb6的工程里两个自建包的互相引用问题
- 请问用JavaMail如何删除某一特定邮件?高分相送!
- 在linux下如何设置java连接mysql 急
- 不能动态编译的问题
改成 public int hashCode()
注意方法名称另外,建议用HashMap代替HashTable
~~~~
要在实例吗?
这边为什么还要NEW啊
原来只差了个大小写 我晕