HashMap

Map集合的实现类

  • HashMap【重点】: JDK1.2版本,线程不安全,运行效率快;允许用Null作为key或者是value

源码分析

1、HashMap刚创建的时候,table是Null,为了节省空间,当添加第一个元素时,table容量调整为16

2、当元素个数大于阈值(16*0.75=12)时,会进行扩容,扩容后大小为原来的2倍,目的是减少调整元素的个数

3、JDK1.8 当每个链表长度大于8,并且元素个数大于64时,会调整为红黑树,目的提高执行效率

4、JDK1.8 当链表长度小于6时,调整成链表

5、JDK1.8以前,链表是头插入,JDK1.8以后是尾插入

posted @ 2022-01-09 23:02  少时凌云志  阅读(42)  评论(0)    收藏  举报