HashMap中hashcode()生成新哈希原理

1.取到hash值將高16位向低16位進行移動, 2.將原hash值的低16位與右移16位的高16位值做異或 ^ 運算, (異或運算可以使二進制0,1分散,而不是像使用 & | 集中全1,全0) 3.使得計算後的hash值與原hash值的兩部分特徵值相關(高低16位) 4.再將新hash值與n-1(15,二進制位除最高位爲0其餘全1)做與 & 運算 5.使之均勻放置在0-15個位置中,生成下標
相關文章
相關標籤/搜索