HashMap的源码解读以及面试题

先看几道HashMap的面试题:

1、请简述HashMap的底层存储数据结构?

2、HashMap的key的hash值是如何计算的?为什么这样实现?

3、HashMap的默认容量是多少?加载因子是什么?容量如何变化?容量不够怎么办?

4、HashMap调用put方法底层数据的存放过程?

5、HashMap链表节点过深时为什么选择使用红黑树?

6、什么是红黑树,谈谈你对红黑树的理解?

7、什么是hash碰撞,发生hash碰撞怎么办?

8、JDK1.7和JDK1.8的HashMap有什么不同?

9、HashMap和HashTable有什么区别?

10、HashMap与ConcurrentHashMap的区别?

11、我们能否让HashMap实现同步(线程安全)?

12、HashMap如何实现排序

后期会抽时间完善源码解读...

猜你喜欢

转载自blog.csdn.net/qq_34050399/article/details/107373184