土豆烧牛肉1985 2009-04-06 10:11
浏览 237
已采纳

Hashtable的get(key)问题,望解答

我先定义了一个MyKey作为hashtable的关键字,而且在MyKey中重写了hashCode()和equals()函数。
但是在hashtable中还是检索不到key值对应的值,
1)
package lesson6;

public class MyKey {
private String name = null;
private int age = 0;

MyKey(String name, int age) {
    this.name = name;
    this.age = age;
}

public String getName() {
    return name;
}

public boolean equals(Object obj) {

    if (obj instanceof MyKey) {
        MyKey objTemp = (MyKey) obj;
        if (this.name.equals(objTemp.name) && this.age == objTemp.age) {
            return true;
        } else
            return false;

    } else {
        return false;
    }

}

public int haseCode() {

    return name.hashCode() + age;

}

public String toString() {
    return name + "," + age;
}

}
2)
package lesson6;

import java.util.*;

public class HashtableTest {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    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("zhangsan1", 19), new Integer(3));
    numbers.put(new MyKey("zhangsan2", 20), new Integer(4));
    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(key.getName().hashCode());
        System.out.println(key.hashCode());
    }

    MyKey ko = new MyKey("lisi", 15);
    // System.out.println("lisi".hashCode()+15);
    // System.out.println(ko.haseCode());
    System.out.println(numbers.get(ko));
}

}

  • 写回答

1条回答

  • shoes_2003 2009-04-06 10:38
    关注

    [code="java"]

    public int haseCode() {

    return name.hashCode() + age;

    } [/code]

    方法名写错了,笔误
    [code="java"]

    public int hashCode() {

    return name.hashCode() + age;

    } [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题