有兴趣可以看一下,HashMap的是如何使用hash算法充分尽力打散到16个桶的(即计算出数组下标):
(n - 1) & hash
也就是说hashmap是通过数组长度-1&key的hash值来计算出数组下标的,这里的hash值就是上面(h = key.hashCode()) ^ (h >>> 16)计算出来的值
请转到博客查看原文详细:https://blog.csdn.net/qq_33709582/article/details/113337405