HashMap其实没这么难-

2020-11-17  本文已影响0人  半吊子a

源码分析jdk 1.8

HashMap---理解完这些常见面试题,你就差不多理解了
它是数组+链表的结合体,实现Map接口,允许key和value都为null,且只有一个,当然它是线程不安全的。

1、hashMap是什么时候初始化数组table的?

创建new HashMap时,并不会初始化table,源码相当明显 image.png
其实是个put的时候创建的 image.png image.png

2、jdk 1.8 为什么取消模计算?


image.png

3、为什么建议initalCapatal为2的倍数,如果不是会有什么问题

4、jdk1.7之前,多线程扩容会怎么样?

5、jdk1.8和1.7 put方法有什么区别?

上一篇下一篇

猜你喜欢

热点阅读