我有一個家庭作業分配,我必須爲字典創建一個散列表,用戶可以在其中輸入單詞作爲鍵,它將搜索並顯示含義。Java哈希表密鑰。將字符串鍵轉換爲int鍵
但是我不確定從String鍵到int鍵的轉換是如何工作的。這是我從我的教科書中取得的代碼:
public int hashVal(String key, int tableSize)
{
int hashKey= 0;
int temp = 0;
for(int i=0;i<key.length();i++)
{
temp = 37*temp+(int)key.charAt(i);
}
temp%=tableSize;
if (temp<0)
{
temp+=tableSize;
}
hashKey=temp;
return hashKey;
}
解釋或更簡單的代碼將非常感激。
這計算哈希值的字符串。 'temp'計算是不必要的,因爲'string.hashCode()'會做(除非你也需要實現)。一個mod操作將hashCode減少爲一個散列索引。整數可以溢出到負數,這樣也可以處理。 –