HashMap

HashMap底层数据结构

数组

链表

红黑树(>jdk7)

初始容量:initialCapacity=16 必须是2的指数

加载因子:loadFactor=0.75

threHold=13 initialCapacity*loadFactor 扩容阀值

在HashMap中只是将 loadFactor,initialCapacity赋值给成员变量 loadFactor和threshold

数组初始化不在构造方法里,是在put的时候

//数据结构初始化

inflateTable(threshold);

13,传过来的容量不是2的指数,则强转成2的指数

jdk1.7计算hash值:

获得hash值后,通过与运算 h&(length-1)

扩容

void resize(int newCapacity)

 

posted @ 2019-07-22 15:19  hotMemo  阅读(95)  评论(0编辑  收藏  举报