HashMap数据结构及源码解析
HashMap数据结构
JDK7以前hashmap结构是使用数组和链表组合的一个数据结构,在JDK8增加了一个新特性,当链表的长度大于8的时候会转化为红黑树
(增加这种特性的优势很明显,双向链表的结构如果Hash冲突很严重的话,会导致链表的长度一直增长这样大大减慢了查询的数据,
也有红黑树的劣势,在插入和删除需要进行旋转变色增加了时间和空间复杂度)。
**hashmap 构造函数 **
public HashMap() {
this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted
}
这里只是为负载因子赋值没有做任何初始化操作
hashmap put方法