寫過Java的人都知道Java集合類,也用過Java集合類。Java集合類位於 java.util 這個包下,就像它的包名暗示的那樣,Java集合類就是一套工具。它就像工匠的工具箱同樣,它能給使用它的人提供便利與效率。正所謂」工欲上其事,必先利其器。「 若是咱們想更好地、更高效率地完成任務,咱們須要熟悉咱們手上的工具。Java集合類就是這樣的工具,只要咱們可以熟練使用它,它就能夠顯著地提升咱們的工做效率、讓咱們事半功倍。html
先說說我對Java集合框架的理解: Java集合框架不是什麼高深的技術,也不是什麼苦澀的知識,它只是把經常使用的數據結構和算法集合在一塊兒,讓咱們不用重複造輪子,能更輕鬆地、更高效地處理數據。就像就像Oracle的Java教程說的那樣:Java集合框架經過提供高性能、高質量的數據結構和算法來提升程序的速度和質量並減輕你的編程負擔。因此咱們沒必要懼怕學不會Java集合框架。既然是工具,多用幾回就能夠熟能生巧了。固然有數據結構基本能更輕鬆地掌握它。java
稍微學習過Java集合類都知道,Java集合類這個工具箱真的太多工具了,不只有List、有Map、有Set等。List中又有ArrayList、LinkedList等,Map中又有HashMap、TreeMap等,Set中又有。。。 此刻你是否想說:」WTF,這麼多怎麼學?哥不學了,洗洗睡去吧。「 但我想說,少年,稍安勿躁!萬事都有規律,只要掌握了規律再多的東西都能掌握。算法
Java集合類分爲兩大類:Collection和Map。爲何要這樣分類呢?編程
先看Collection。Collection翻譯爲中文是」集合「的意思。學過數學都知道,集合是一類元素組成的集體,它的每個單位元素都是單一的個體。咱們能夠把Collection當作是一個裝着球的格子箱,箱裏的每個格子只能放一個球:api
Map。Map有」映射「的意思。根據百度百科對 映射 的定義 ,咱們知道映射是成對出現的,有映 纔有 射 :)。因此映射的單位元素都是一對有關聯的個體。咱們一樣能夠把Map當作是一個裝着球的格子箱,不一樣的是此次箱裏的每一個格子裝的是兩個有關聯的球:數據結構
總結oracle
分析完Collection與Map的區別後咱們分別來看看它們的概貌,以便咱們更好地學習它們以及它們的子集。(如下的圖中,紅色的類,白色的接口。爲何把接口和類分開呢?由於咱們在實際操做的時候通常是實例化類的,接口通常用來向上轉型的。你總不能new個接口吧?並且咱們主要學的也是具體的類而不是接口)框架
咱們先看Collection與Map的層次圖:數據結構和算法
Collection:
工具
Map:
這種圖有什麼做用呢?這種圖對咱們學習Java集合大有裨益。我總結了幾點:
最後給出Collection與Map接口定義的接口文檔(方便之後本身查看:))
好了,今天就到這,以後在來總結集合類的其餘具體子集!!