散列函數(shù)(英語:Hash function)又稱散列算法、哈希函數(shù),是一種從任何一種數(shù)據(jù)中創(chuàng)建小的數(shù)字“指紋”的方法。散列函數(shù)把消息或數(shù)據(jù)壓縮成摘要,使得數(shù)據(jù)量變小,將數(shù)據(jù)的格式固定下來。
該函數(shù)將數(shù)據(jù)打亂混合,重新創(chuàng)建一個叫做散列值(hash values,hash codes,hash sums,或hashes)的指紋。散列值通常用一個短的隨機(jī)字母和數(shù)字組成的字符串來代表。
散列函數(shù)(英語:Hash function)又稱散列算法、哈希函數(shù),是一種從任何一種數(shù)據(jù)中創(chuàng)建小的數(shù)字“指紋”的方法。散列函數(shù)把消息或數(shù)據(jù)壓縮成摘要,使得數(shù)據(jù)量變小,將數(shù)據(jù)的格式固定下來。該函數(shù)將數(shù)據(jù)打亂混合,重新創(chuàng)建一個叫做散列值(hash values,hash codes,hash sums,或hashes)的指紋。散列值通常用一個短的隨機(jī)字母和數(shù)字組成的字符串來代表。
Hash CollisionHash Collision 就是我們說的 Hash 碰撞或者 Hash 沖突。
這個其實(shí)也非常好理解,就是 2 個輸入不同的數(shù)據(jù),經(jīng)過 Hash 算法后,得到的 Hash 值是一樣的。
在現(xiàn)實(shí)世界中,最好是不出現(xiàn) Hash 沖突的情況,但很不幸,這個是沒有辦法避免的。
HashMap 集合需要解決的問題就是如果出現(xiàn)了 Hash 碰撞后,怎么去做。
使用的方法就是使用 Hash 鏈表的方式,但是有時候這個碰撞的情況比較多,比如說有 10 多個輸入數(shù)據(jù)都有相同的 Hash 值。
在 Java 的 HashMap 中,這種情況會使用紅黑樹來進(jìn)行存儲,以便于提交效率。
Java Hash 碰撞 - Java - OSSEZ
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧