这篇文章是关于Java集合的相关问题,我这里为了方便复习,特地用问题的模式引导自己复习,其实对于Java集合这个知识点,我并没有像Redis、MySQL、消息队列等这些知识一样,有自己的脑图,Java集合我是没有的,但是我感觉靠这些问题就差不多了。
其实虽然这个框架很多东西,但是关键都是HashMap相关问题。
HashMap的相关问题
1、HashMap 了解吗?平时在什么地方使用过它呢?
2、HashMap 底层数据结构说一下?
3、为什么用红黑树呢?用平衡二叉树不可以吗?或者你讲一讲他们各自的优缺点吗?
介绍MySQL索引的时候已经介绍过
4、为什么选择 8 之后转为红黑树呢?另外链表转为红黑树之后,还会继续转为链表吗?
5、简单描述下 put 的流程?可以说一下JDK位了效率更快,在 put 的时候,做了哪些优化不?
6、如果我想要让 hashmap 变成线程安全的,你觉得可以怎么做?
7、头插法会导致死循环,那你觉得在以前的版本中,为啥会使用头插法呢?
8、那我们再说一说 HashMap 的扩容吧,什么时候会扩容呢?你觉得为啥负载因子为啥选择 0.75 呢?
ArrayList与LinkedList的相关问题
1、请你说一说 ArrayList 和 LinkedList 区别?
2、AarrayList 底层实现是数组,数组就会有容量限制,可以简单说一下 ArrayList 的扩容机制吗?