2014-01-22 71 views
-2

我很難搞清楚這一點。什麼是hashCode,因爲我從來沒有完全理解它。什麼是hashCode用於?

例子:

int m = 2; 
    int b = "APA".hashCode() % 3000; 
    int v = "KLK".hashCode() % 3000; 
    for (int x = 0; x <= v; x++) 
    m = (m^x) % b; 
    return m; 

什麼返回值?也許這會讓我完全理解hashCode。

+0

https://en.wikipedia.org/wiki/Java_hashCode() – Lazarus

+0

用於在Map中存儲對象並在等同性檢查中存儲第一遍 –

+0

雖然返回值是什麼? – Junkie

回答

-1

hashcode用於計算機科學創建一個幾乎O(1)訪問hashps和哈希表的對象,hashcode可以是md5,sha1或任何其他加密。

在這種情況下,返回值是1955年

+0

你知道整數m的返回值嗎? – Junkie

+2

返回值是1955,你可以運行它 – Dima

+0

結果是1955. –

0

的哈希代碼是隻是一個「值」。散列碼方法只需要一個 對象並輸出一個數值。如果對象不變,對象的哈希碼總是相同的。

因此,使用這些知識,你可以使用hashCode做很多事情,對於HashMap的例子可以使用 。在HashMap中,當您執行查找時,您希望快速找到匹配鍵 。因此,您首先檢查所請求的密鑰的 哈希碼,然後使用該哈希碼可以真正有效地找到您的地圖中的所有關鍵字 。然後,您可以檢查每個候選鍵(和 中的那些候選鍵),以便與請求的鍵相等。