什么是類的hashcode值


1、要知道什么是類的hashcode值,首要要了解什么是hash(哈希)。Hash,一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入(又叫做預映射pre-image)通過散列算法變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來確定唯一的輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。

常用HASH函數

·直接取余法:f(x):= x mod maxM ; maxM一般是不太接近 2^t 的一個質數。
·乘法取整法:f(x):=trunc((x/maxX)*maxlongit) mod maxM,主要用於實數。
·平方取中法:f(x):=(x*x div 1000 ) mod 1000000); 平方后取中間的,每位包含信息比較多。
2、類的hashcode值其實是hash表中類的地址,但是這個地址是:類的物理地址作為輸入,經過hash函數計算得到的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM