Java集合是java提供的工具包,包含了常用的數據結構:集合、鏈表、隊列、棧、數組、映射等。Java集合工具包位置是java.util.*
Java集合主要可以劃分為4個部分:List列表、Set集合、Map映射、工具類(Iterator迭代器、Enumeration枚舉類、Arrays和Collections)、。
Java集合工具包框架圖(如下):
查看本欄目
大致說明:
看上面的框架圖,先抓住它的主干,即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。它們是操作數組、集合的兩個工具類。
有了上面的整體框架之後,我們接下來對每個類分別進行分析。