Java面向对象
Java异常
Java数组
Java常用类
Java集合
Java IO流
Java线程
Java反射
Socket编程
Java注解开发
Java GoF设计模式
HashMap
Java内存模型
Java线性表

Java HashMap底层实现原理

HashMap底层是哈希表(散列表),哈希就是一个数组,数组的每个元素是一个单向链表。

● 在第一次执行put方法时,给哈希表的数组(哈希桶)默认初始化,容量: 16

● hashMap加载因子是0.75

● 当hashMap中<键,值>对的数量  > 哈希桶容量 * 加载因子时,  哈希桶(数组)要扩容  , 按2倍大小扩容

● HashMap可以指定初始化容量, 系统会自动调整为2的幂次方,  可以快速的计算数组的下标

● 如果单向链表中结点的个数超过8个时, 系统会自动的把单向链表转换为树形结构