1、前言數據結構
1. 該關係圖是本人根據JDK1.8 源碼整理所得,只整理了經常使用的、常見的集合,並不是所有。spa
2. 整理邏輯:blog
Collection接口下有兩個子接口:List 和 Set 接口。繼承
Map是獨立的一個接口。接口
有關各種集合的特色,圖中只是給出了總結,並未從底層數據結構去分析,後面有時間我會再寫一篇經常使用集合底層數據結構分析的博文。源碼
3.對關係圖的解釋說明:io
①從左往右各個接口/實現類之間的關係:左邊的節點被右邊的節點所實現/繼承;List
②虛線:虛線起點的類實現了虛線箭頭指向的接口。im
③集合的三大接口(List、Set、Map),分別用不一樣顏色的圖標①②③來標記;總結
④集合的三大接口(List、Set、Map)的經常使用實現類,分別用與該接口圖標相同顏色的星星來標記;
⑤打鉤圖標和表情圖標,是我認爲值得注意的接口/實現類;
2、集合的繼承體系:
2、Collection接口的繼承關係:
3、Map接口的繼承關系: