天天看點

【轉】Java 集合系列01之 總體架構

Java集合是java提供的工具包,包含了常用的資料結構:集合、連結清單、隊列、棧、數組、映射等。Java集合工具包位置是java.util.*

Java集合主要可以劃分為4個部分:List清單、Set集合、Map映射、工具類(Iterator疊代器、Enumeration枚舉類、Arrays和Collections)、。

Java集合工具包架構圖(如下):

【轉】Java 集合系列01之 總體架構

大緻說明:

看上面的架構圖,先抓住它的主幹,即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