Map集合概述
1. Map集合的子接口
重点:
HashMap集合
1. HashMap的底层实现原理?
2. HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现?
3. JDK1.7 VS JDK1.8 比较?
4. HashMap什么时候进行扩容?
5. HashMap扩容操作是怎么实现的?
6. hashMap为什么是线程不安全的?
在hashMap进行put和remove的过程中没有进行同步,尤其是在扩容的时候,此时有hashMap并发操作容易造成扩容后数组数据错乱的情况。
7. 哈希冲突的产生原因
8. 解决哈希冲突的四种方法
附加:
9. HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标?
HashTable集合(不是Map的子类)
1. 什么是哈希表?
2. 为什么哈希表的速度快?
3. HashTable的主要方法:put 方法和get方法
TreeMap集合
1. 什么是TreeMap集合?
2. 特点(了解)
ConcurrentHashMap集合
1. ConcurrentHashMap线程安全的具体实现方式/底层具体实现(了解即可)
2. 为什么要用ConcurrentHashMap
3. JDK1.7和JDK1.8的区别
零碎知识点
1.基础概念
2. HashSet 和 HashMap 的区别?
3. HashMap 与 HashTable 有什么区别?
4. ConcurrentHashMap 和 Hashtable 的区别?
5. 为什么单线程用HashMap,多线程用ConcurrentHashMap,为什么不用HashTable?
6.哈希算法图解
7. 如何决定使用 HashMap 还是 TreeMap?
8. comparable 和 Comparator的区别
9. HashMap、HashTable、ConcurrentHashMap区别
文章到此就结束了。
喜欢的可以点赞关注哦,也可以在评论区留下宝贵的意见呐❥❥~**
不足之处,欢迎雅正留言!