简单谈谈HashMap

1、HashMap底层是数组+链表结构的集合,它的初始值为16bit,负载因子为0.75

2、HashMap在创建的对象的时候并不会向内存申请空间,而是在进行put操作的时候才会向内存申请

3、HashMap每次扩容为上一次的2倍,由于负载因子为0.75,当容量达到当前空间的0.75的时候就会向内存申请空间,这样可以避免hash碰撞,能够使所存的value均匀分布

4、HahsMap维护的是一个key-value的table数组,通过key的Hash值来确定value的存储位置,当key值和value值都相等时,新的value值会取代老的value,当key的Hash值相等而value的值不同时,对应的节点就会转换成链表来存储value。

5、HashMap的key和value都可以为null,存储的key为null时,它会将值存储在数组的第一位。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章