1.HashMap的数据结构是平面网格结构,用数组存放格子,格子里面是一个链表。计算key的hashcode而后&上map当前长度,把key映射到格子里面。数组
2.HashMap默认长度是16,扩展因子是0.75,首次扩展阈值为12。每次扩张为以前的一倍。oldLength<<1数据结构
3.JDK1.7里面的HashMap使用的是Entry数组做为表格+表格内的链表。code
4.JDK1.8里面的HashMap使用的是Node数组做为表格+表格内部的链表/红黑树。若是链表中的元素超过8个,使用红黑树。blog