作者tkcn (小安)
看板java
标题Re: [J2SE] Hashtable 的一些用法??
时间Sat Jan 26 18:30:22 2008
※ 引述《SureWin (surewin)》之铭言:
: 我也对Hashtable 这个类别一直有问题
: 既然有人提我就顺便问一下吧
: 再做 Hashing 的时候本来就会 有 Collision的问题
: 但是Hashtable 类别并没做甚麽碰撞解决机制
: 反而在put资料的时候 若碰撞 就会盖掉原来的资料
: 而回传 "被"盖的资料 真的是好奇怪
: 就算 两则不同的key值 也可能 hash 到同一个bucket阿
: 难道 资料就这样被盖掉 好恐怖喔 一直不敢用ㄟ
: ---- 但是java的书明明有讲 会在後面用一个linkedlist 串起来
: 不过都没有ㄟ 不知道各位大大 有甚麽解决妙方
你误会了,
hashing 的 collision 指的是 key 的 hash code 相同,
(代表物件将存在 hash table 中的同一个栏位)
在这种情况,资料是会用 LinkedList 存起来的。
但如果是 key 完全相同,则物件会被後加入者取代。
(当然这种情况,key 的 hash code 也是相同的)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.239
1F:推 SureWin:那我的确误会了 thx 01/26 19:56