Java集合是java提供的工具包,包含了常用的資料結構:集合、連結清單、隊列、棧、數組、映射等。Java集合工具包位置是java.util.*
Java集合主要可以劃分為4個部分:List清單、Set集合、Map映射、工具類(Iterator疊代器、Enumeration枚舉類、Arrays和Collections)、。
Java集合工具包架構圖(如下):
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5iNlVTOjFTZxI2N3UjYiFTO1EzM0gTMiFDN3IzNzUWNh1COyATM3EDOw8CX5AzMxAjMvwFNzYzN5QzLcd2bsJ2Lc12bj5ycn9Gbi52YuAzcldWYtl2Lc9CX6MHc0RHaiojIsJye.jpg)
大緻說明:
看上面的架構圖,先抓住它的主幹,即Collection和Map。
1 Collection是一個接口,是高度抽象出來的集合,它包含了集合的基本操作和屬性。
Collection包含了List和Set兩大分支。
(01) List是一個有序的隊列,每一個元素都有它的索引。第一個元素的索引值是0。
List的實作類有LinkedList, ArrayList, Vector, Stack。
(02) Set是一個不允許有重複元素的集合。
Set的實作類有HastSet和TreeSet。HashSet依賴于HashMap,它實際上是通過HashMap實作的;TreeSet依賴于TreeMap,它實際上是通過TreeMap實作的。
2 Map是一個映射接口,即key-value鍵值對。Map中的每一個元素包含“一個key”和“key對應的value”。
AbstractMap是個抽象類,它實作了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是繼承于AbstractMap。
Hashtable雖然繼承于Dictionary,但它實作了Map接口。
接下來,再看Iterator。它是周遊集合的工具,即我們通常通過Iterator疊代器來周遊集合。我們說Collection依賴于Iterator,是因為Collection的實作類都要實作iterator()函數,傳回一個Iterator對象。
ListIterator是專門為周遊List而存在的。
再看Enumeration,它是JDK 1.0引入的抽象類。作用和Iterator一樣,也是周遊集合;但是Enumeration的功能要比Iterator少。在上面的框圖中,Enumeration隻能在Hashtable, Vector, Stack中使用。
最後,看Arrays和Collections。它們是操作數組、集合的兩個工具類。
有了上面的整體架構之後,我們接下來對每個類分别進行分析。
http://www.cnblogs.com/skywang12345/p/3308498.html