標籤:
Java集合類位於 java.util 這個包下,就像它的包名暗示的那樣,Java集合類就是一套工具。它就像工匠的工具箱一樣,它能給使用它的人提供便利與效率。 Java集合架構不是什麼高深的技術,也不是什麼苦澀的知識,它只是把常用的資料結構和演算法集合在一起,讓我們不用重複造輪子,能更輕鬆地、更高效地處理資料。 Java集合類分為兩大類:Collection和Map。 先看Collection。Collection翻譯為中文是”集合“的意思。學過數學都知道,集合是一類元素組成的集體,它的每一個單位元素都是單一的個體。我們可以把Collection看成是一個裝著球的格子箱,箱裡的每一個格子只能放一個球: Map。Map有”映射“的意思。我們知道映射是成對出現的,所以映射的單位元素都是一對有關聯的個體。我們同樣可以把Map看成是一個裝著球的格子箱,不同的是這次箱裡的每個格子裝的是兩個有關聯的球: 下面的圖中,白色的是介面,紅色的是類 中間插一句:為什麼這裡把介面和類分開呢?因為我們在實際操作中,類一般用來執行個體化,介面一般用來向上轉型。你總不能new個介面吧?而且我們主要學的也是具體的類而不是介面)
這種圖對我們學習Java集合大有裨益。我總結了幾點:
- 參考圖中的層次關係自上而下地學習,這樣一來,我們就可以把共有的方法一起學了,在學習具體的類時只需學習它特有的方法。
- 使用ArrayList時,我們知道他屬於Collection,而Collection添加元素的共有方法是 add 。使用HashMap時,我們又知道它屬於Map,而Map添加元素的共有方法是 put 。這樣我們就不會把它們添加元素的方法搞混了。
- 選擇資料結構是,我們可以先分析是Collection還是Map合適。然後在從上往下回憶有哪些類可以使用。
- 能讓我們更瞭解集合類。就我個人來說,在使用ArrayList時如果不清楚他的層次樹總感覺”不太安心“。這個類就像憑空出現的一樣,不知道它從哪裡來又能去到哪。如果有它的層次圖就有一種“所有的障礙都消失了”的感覺,有掌握全域的快感。
Java集合類