Java 集合底层原理剖析(List、Set、Map、Queue)

我相信各位程序猿都会使用 ArrayList、LinkedList、HashMap、ConcurrentHashMap、HashSet、TreeSet、Queue 等等集合类,而且用得都比较 niu 比较吊,但是您了解它们都有哪些主要属性吗?是什么数据结构?有什么特征?使用场景?底层实现原理等等,如果不了解的话请看过来,老牛带您一步步的解开 Java 集合的衣裳,目睹一下它们的真身,Let's go!

本 Chat 你将会获得以下知识:

  1. List
    • ArrayList 的属性、数据结构、add/set/remove 具体流程
    • LinkedList 的属性、数据结构、get 具体流程、Java 8 对它的改进
    • Vector 的属性、数据结构、特征、使用场景
    • Stack 的属性、数据结构、实现原理
    • CopyOnWriteArrayList 和 CopyOnWriteArraySet 的数据结构、特征、实现原理
    • ArrayList 和 Vector 区别、LinkedList 与 ArrayList 的区别
  2. Map
    • HashMap 的属性、数据结构、put/get/remove 具体流程、扩容机制、哈希冲突解决方案、Java 8 对 HashMap 的改进
    • HashTable 的属性、数据结构、特征、使用场景、实现原理
    • ConcurrentHashMap 的属性、数据结构、put/set/remove 具体流程
    • TreeMap 的属性、数据结构、使用场景、put/remove 具体流程
    • LinkedHashMap 的属性、数据结构、使用场景、Java 8 对它的改进
    • WeakHashMap 介绍
    • HashMap 与 Hashtable 的区别、HashMap 与 TreeMap 的区别
    • Hashtable 与 ConcurrentHashMap 的联系与区别
  3. Set
    • HashSet 的属性、特征、使用场景、实现原理
    • TreeSet 的属性、特征、使用场景、实现原理
    • LinkedHashSet 的属性、特征、使用场景、实现原理
    • HashSet、TreeSet、LinkedHashSet 之间的区别
  4. Queue
    • 阻塞队列介绍
    • 非阻塞队列介绍
    • 双端队列(Deque)介绍

适合人群: Java 面试、技术整理总结。

阅读全文: http://gitbook.cn/gitchat/activity/5e0a194467c9bf0d1317668f

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

Java 集合底层原理剖析(List、Set、Map、Queue)