1、什麼是Java容器html
書寫程序時,咱們經常須要對大量的對象引用進行管理。爲了實現有效的歸類管理,咱們經常將同類的引用放置在同一個數據容器中。Java容器類是java提供的工具包,包含了經常使用的數據結構:集合、鏈表、隊列、棧、數組、映射等。Java容器主要能夠劃分爲4個部分:List列表、Set集合、Map映射、工具類(Iterator迭代器、Enumeration枚舉類、Arrays和Collections)。java
2、Java容器概況數組
如圖可知,java容器主要分爲Collection和Map兩部分。數據結構
-
Collection是一個接口,是高度抽象出來的集合,它包含了集合的基本操做和屬性。Collection包含了List和Set兩大分支。ide
List是一個有序的隊列,每個元素都有它的索引。第一個元素的索引值是0。List的實現類有LinkedList, ArrayList, Vector, Stack。
Set是一個不容許有重複元素的集合。 Set的實現類有HastSet和TreeSet。HashSet依賴於HashMap,它其實是經過HashMap實現的;TreeSet依賴於TreeMap,它其實是經過TreeMap實現的。函數 -
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而存在的。spa
-
Enumeration是JDK 1.0引入的抽象類。做用和Iterator同樣,也是遍歷集合;可是Enumeration的功能要比Iterator少。在上面的框圖中,Enumeration只能在Hashtable, Vector, Stack中使用。htm
-
Arrays和Collections是操做數組、集合的兩個工具類。
參考連接:java容器類總結