Java 集合框架01-----Java集合總覽

今天開始閱讀Java集合源碼了。重點掌握ArrayList,HashMap的源碼
前置問題:

    HashMap的數(shù)據(jù)結構是什么?如何實現(xiàn)的。和HashTable,ConcurrentHashMap的區(qū)別
    ArrayList是如何實現(xiàn)的,ArrayList和LinkedList的區(qū)別?ArrayList如何實現(xiàn)擴容。

集合框架類圖如下圖所示:

集合框架類圖.png
接下來我們將按照這個類圖來開始我們的分析之旅。
總體說明:

最根部就是兩個接口Collection 和Map
1. Collection 主要有List,Set和Queue三個分支,Collection定義了集合的基本操作,如集合的查找,修改,合并
- List是一個有序隊列,允許重復元素,其實現(xiàn)類ArrayList,LinkedList和Vector
- Set不允許有重復元素。其實現(xiàn)類有HashSet和TreeSet,HashSet的實現(xiàn)依賴于HashMap,TreeSet的實現(xiàn)依賴于TreeMap
2. Map是一個映射接口,即key-value 鍵值對,其key值只允許一個為null,Value 值可以允許多個值為null。
3. Iterator是集合的遍歷工具,即我們通常所說的Iterator迭代器。Collection依賴于Iterator,所有Collection的所有實現(xiàn)類都要依賴Iterator。
4. Arrays和Collection是操作數(shù)組和集合的工具類。




作者:碼農飛哥
微信公眾號:碼農飛哥