以下內(nèi)容整理自互聯(lián)網(wǎng),僅用于個人學(xué)習(xí)
Java集合框架大致可分為五個部分:List,Set,Map,迭代器(Iterator,Enumeration),工具類(Arrays,Collections)

集合類主要分為兩大類:Collection和Map。
Collection是List、Set等集合高度抽象出來的接口,它包含了這些集合的基本操作,它主要又分為兩大部分:List和Set。
List接口通常表示一個列表(數(shù)組、隊列、鏈表、棧等),其中的元素可以重復(fù),常用實現(xiàn)類為ArrayList和LinkedList,另外還有不常用的Vector。LinkedList還實現(xiàn)了Queue接口,因此也可以作為隊列使用。
Set接口通常表示一個集合,其中的元素不允許重復(fù)。常用實現(xiàn)類有HashSet和TreeSet,HashSet是通過Map中的HashMap實現(xiàn)的,而TreeSet是通過Map中的TreeMap實現(xiàn)的。TreeSet實現(xiàn)了SortedSet接口,因此是有序的集合。
Map是一個映射接口,其中的每個元素都是一個key-value鍵值對,TreeMap、HashMap、WeakHashMap等實現(xiàn)類都通過繼承AbstractMap來實現(xiàn),另外,不常用的HashTable直接實現(xiàn)了Map接口,它和Vector都是JDK1.0就引入的集合類。
Iterator是遍歷集合的迭代器(不能遍歷Map,只用來遍歷Collection),Collection的實現(xiàn)類都實現(xiàn)了iterator()函數(shù),它返回一個Iterator對象,用來遍歷集合,ListIterator則專門用來遍歷List。而Enumeration則是JDK1.0時引入的,作用與Iterator相同,但它的功能比Iterator要少,它只能再Hashtable、Vector和Stack中使用。
Arrays和Collections是用來操作數(shù)組、集合的兩個工具類,例如在ArrayList和Vector中大量調(diào)用了Arrays.Copyof()方法,而Collections中有很多靜態(tài)方法可以返回各集合類的synchronized版本,如果要用線程安全的結(jié)合類,首選Concurrent并發(fā)包下的對應(yīng)的集合類。
Collections功能
- 二分查找
- 為Collection添加不定數(shù)量參數(shù)作為子元素
- 將一個List所有元素復(fù)制到另一個List
- 獲取Collection中最大最小值
- 判斷兩個元素是否相等
- 對集合排序
- 返回單例
- 將線程不安全的Map、Set轉(zhuǎn)為線程安全的對象
Arrays功能
- 二分查找
- 將數(shù)組轉(zhuǎn)化為List對象
- 復(fù)制數(shù)組指定范圍的元素為一個新的數(shù)組
- 給數(shù)組指定范圍的每個元素賦一個值,排序等
Collection包結(jié)構(gòu),與Collections的區(qū)別
Collection是一個接口,它是Set、List等容器的父接口;Collections是一個工具類,提供了一系列的靜態(tài)方法來輔助容器操作,這些方法包括對容器的搜索、排序、線程安全化等等。