非常详细:https://www.cnblogs.com/pony1223/p/7795882.html
重要知识点:
1.底层存储数据结构是entry数组,里面有四个重要属性,key,value,next,hash.
2.数组长度为什么是2的倍数?为了数据均匀分布,里面有一个hash&(length-1)这个操作,用来计算数据存储数组位置的下标。如果数组的长度是偶数,length-1为奇数,length-1的二进制最后一位是1,那么任何数对他进行&运算的时候结果可能是偶数也可能是奇数;如果数组的长度是奇数,length-1为偶数,length-1的二进制最后一位是0,那么任何数对他进行&运算的时候结果一定是偶数,那么就浪费了一半的空间存储。所以为了使数据均匀存储,数组长度一定要是偶数,即2的倍数。
3.
HashMap详解
最新推荐文章于 2025-06-14 11:23:04 发布
