Re: [J2SE] Hashtable 的一些用法??
※ 引述《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
推
01/26 19:56, , 1F
01/26 19:56, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 8 篇):