寫過Java的人都知道Java集合類,也用過Java集合類。Java集合類位于 java.util 這個包下,就像它的包名暗示的那樣,Java集合類就是一套工具。它就像工匠的工具箱一樣,它能給使用它的人提供便利與效率。正所謂”工欲上其事,必先利其器。“ 如果我們想更好地、更高效率地完成任務,我們需要熟悉我們手上的工具。Java集合類就是這樣的工具,只要我們能夠熟練使用它,它就可以顯著地提高我們的工作效率、讓我們事半功倍。
先說說我對Java集合框架的理解: Java集合框架不是什么高深的技術(shù),也不是什么苦澀的知識,它只是把常用的數(shù)據(jù)結(jié)構(gòu)和算法集合在一起,讓我們不用重復造輪子,能更輕松地、更高效地處理數(shù)據(jù)。就像就像Oracle的Java教程說的那樣:Java集合框架通過提供高性能、高質(zhì)量的數(shù)據(jù)結(jié)構(gòu)和算法來提高程序的速度和質(zhì)量并減輕你的編程負擔。所以我們不必害怕學不會Java集合框架。既然是工具,多用幾次就可以熟能生巧了。當然有數(shù)據(jù)結(jié)構(gòu)基本能更輕松地掌握它。
稍微學習過Java集合類都知道,Java集合類這個工具箱真的太多工具了,不僅有List、有Map、有Set等。List中又有ArrayList、LinkedList等,Map中又有HashMap、TreeMap等,Set中又有。。。 此刻你是否想說:”WTF,這么多怎么學?哥不學了,洗洗睡去吧。“ 但我想說,少年,稍安勿躁!萬事都有規(guī)律,只要掌握了規(guī)律再多的東西都能掌握。
Collection與Map的區(qū)別Java集合類分為兩大類:Collection和Map。為什么要這樣分類呢?
先看Collection。Collection翻譯為中文是”集合“的意思。學過數(shù)學都知道,集合是一類元素組成的集體,它的每一個單位元素都是單一的個體。我們可以把Collection看成是一個裝著球的格子箱,箱里的每一個格子只能放一個球:

Map。Map有”映射“的意思。根據(jù)百度百科對 映射 的定義 ,我們知道映射是成對出現(xiàn)的,有映 才有 射 :)。所以映射的單位元素都是一對有關(guān)聯(lián)的個體。我們同樣可以把Map看成是一個裝著球的格子箱,不同的是這次箱里的每個格子裝的是兩個有關(guān)聯(lián)的球:

總結(jié)
分析完Collection與Map的區(qū)別后我們分別來看看它們的概貌,以便我們更好地學習它們以及它們的子集。(以下的圖中,紅色的類,白色的接口。為什么把接口和類分開呢?因為我們在實際操作的時候一般是實例化類的,接口一般用來向上轉(zhuǎn)型的。你總不能new個接口吧?而且我們主要學的也是具體的類而不是接口)
我們先看Collection與Map的層次圖:
Collection:
Map:
這種圖有什么作用呢?這種圖對我們學習Java集合大有裨益。我總結(jié)了幾點:
最后給出Collection與Map接口定義的接口文檔(方便以后自己查看:))
好了,今天就到這,之后在來總結(jié)集合類的其他具體子集!!
新聞熱點
疑難解答