小妹请教hashtable

ygoodluck 2004-05-08 07:57:26
最近有关 在老师的逼迫下开始编写有关程序,其中有用到hashtable 。现在请教各位大侠
就是一般在创建hashtable 的时候总是要有hash函数的么,比如什么hash(i)=i mod 2什么的 ,在hashtable 中是不是默认得hash函数的阿 ,要是默认得 很想知道到底是一个什么样的函数的那 我自己到JDK SRC下面的hashtable 中去看了 但是没有看懂得 呵呵 小女子请教了 谢谢谢诶:)
...全文
100 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiking 2004-08-19
  • 打赏
  • 举报
回复


老大,那人说的是数据结构中的哈希表,不是java中的类。

活见鬼,怎么有人这么问?
appleangle 2004-08-19
  • 打赏
  • 举报
回复
hash函数的算法不是容易理解的东西,而且有的就理解不了。会用就够了
longjing_g 2004-08-19
  • 打赏
  • 举报
回复
up
girlsjj 2004-08-19
  • 打赏
  • 举报
回复
object 类(所有类的基类,应该知道的,哦)
里面有个hashcode()函数,一般类会继承或者重写这个函数
hashmap 继承

hashtable 重写
不见得你自己要写一个,但是创建hash表一定要有这么个函数。(不然怎么叫哈希表,对不?)
以hashtable为例。用户给出键值和存储值,但hashtable不会直接用这个键值。他会使用hashcode(key),计算得到key的散列值,作为键值放入hash表中。

至于jdk中hash函数的算法,刚开始用,不用研究这么深吧。呵呵,偶也不知道
stonecsdn 2004-05-08
  • 打赏
  • 举报
回复
呵呵,没有看过,应该是默认的,具体实现不知道
realwf 2004-05-08
  • 打赏
  • 举报
回复
有默认的hash函数,是hashCode(),对每个Key产生一个不重复的值(使用对象的地址),你可以重写。

可以测试
class A{}
...
A a = new A();
A b = new A();
System.out.println("a=", a.hashCode());
System.out.println("b=", b.hashCode());
KevinListening 2004-05-08
  • 打赏
  • 举报
回复
仔细看看Thinking in Java

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧