2012-03-22 54 views
3

有沒有人在任何地方使用hashCode()hashCode()用在哪裏?

任何人都可以給我一個哈希碼的確切使用的例子,在哪些情況下,我們需要實現它? 使用HashCode的任何特定區域?

回答

10

Hascode是否在任何地方使用?

hashCode方法由內部使用例如HashSetHashMap

是否有任何人給我什麼例子是確切使用hascode的...

它用於例如允許算法快速發現兩個對象是否是而不是等於。 (沒有使用equals進行比較)。

...在哪些情況下我們需要執行它?

你應該實現它,只要你重寫equals(你需要時,你需要定義兩個不同的對象等於做)。


進一步閱讀

2

的hashCode用於例如在HashMap中。一個很好的實現方法HashMap的許可證,以在地圖上良好的數據分佈和提高數據訪問性能

2

我想你的意思hashcode,不hascode ...

話雖這麼說,在hashcode用於構建結構如MapsHashMap等)。

它也被用來存儲密碼有時,所以基本上Java應用程序會傳遞數據庫密碼的哈希版本然後存儲。當你在Java應用程序和數據庫之間有'泄漏'時,這很有用,它允許人們看到用戶名和密碼。由於您將傳遞密碼的散列版本而不是實際的密碼,因此監視應用程序的任何人都將很難嘗試破解密碼。

要登錄某人,應用程序需要做的就是比較提供的密碼和存儲在數據庫中的密碼的哈希碼。