土豆烧牛肉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 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计