2013-01-16 62 views
6

最好的查找結構是HashTable。它提供了平均的恆定訪問(在最壞的情況下是線性的)。
這取決於散列函數。好。
我的問題如下。假設很好地實現了例如HashTable,例如HashMap是否有關於在地圖中傳遞的鍵的最佳做法?我的意思是建議鍵必須是不可變的對象,但我想知道是否還有其他建議。
示例密鑰的大小?例如,如果我們使用String作爲鍵,在一個好的散列表中(以上述方式),在equals(試圖找到鍵)的字符串比較中不會出現「瓶頸」嗎?所以鑰匙應該保持很小?或者是否有不應該用作鍵的對象?例如。 a URL?在這種情況下,您如何選擇使用什麼作爲關鍵?
什麼應該是關鍵在散列表的最佳做法

+10

我想說的主要限制是它必須是你想要查找的東西;) –

+2

一般規則是用作關鍵字,無論你需要查找什麼。在大多數情況下,你不會找到一個更有效的數據結構,而沒有太多的工作,所以你不應該爲此煩惱太多。 –

+4

密鑰的_size_無關緊要。重要的是,它的'hashCode()'計算效率如何。 – jlordo

回答

相關問題