1. 程式人生 > >java集合概述(一)

java集合概述(一)

在JDK中集合是很重要的,學習java那麼一定要好好的去了解一下集合的原始碼以及一些集合實現的思想! 
一:集合的UML類圖(網上下載的圖片)

Java集合工具包位置是java.util.*

這裡寫圖片描述

這裡寫圖片描述

二:集合工具的分析 
1:Java集合是java提供的工具包,常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等 
2:java集合主要劃分為五個部分:

List列表、Set集合、Map對映、迭代器(Iterator、Enumeration)、工具類(Arrays、Collections)

3:根據類圖進行分析: 
主要分為兩大類:CollectionMap 
1:Collection是一個介面,是高度抽象出來的集合,它包含了集合的基本操作和屬性。

包括了List和Set

  • List:List介面通常表示一個列表(陣列、佇列、連結串列、棧等),其中的元素可以重複,常用實現類為ArrayList和LinkedList,另外還有不常用的Vector。另外,LinkedList還是實現了Queue介面,因此也可以作為佇列使用。

    List是一個有序的佇列,每一個元素都有它的索引。第一個元素的索引值是0。

  • Set: Set介面通常表示一個集合,其中的元素不允許重複(通過hashcode和equals函式保證),常用實現類有HashSet和TreeSet,HashSet是通過Map中的HashMap實現的,而TreeSet是通過Map中的TreeMap實現的。另外,TreeSet還實現了SortedSet介面,因此是有序的集合(集合中的元素要實現Comparable介面,並覆寫Compartor函式才行)。

    Set是一個不允許有重複元素的集合。

2:Map是一個對映介面,即key-value鍵值對。一個key對應一個value。

Map是一個對映介面,其中的每個元素都是一個key-value鍵值對,同樣抽象類AbstractMap通過介面卡模式實現了Map介面中的大部分函式,TreeMap、HashMap、WeakHashMap等實現類都通過繼承AbstractMap來實現,另外,不常用的HashTable直接實現了Map介面,它和Vector都是JDK1.0就引入的集合類。

3:Iterator,它是遍歷集合的工具,即我們通常通過Iterator迭代器來遍歷集合。不能遍歷Map,只用來遍歷Collection。 
Collection的實現類都實現了iterator()函式,它返回一個Iterator物件,用來遍歷集合,ListIterator則專門用來遍歷List

4:Enumeration,它是JDK 1.0引入的抽象類。作用和Iterator一樣,也是遍歷集合;但它的功能比Iterator要少,它只能再Hashtable、Vector和Stack中使用。

5:Arrays和Collections。它們是運算元組、集合的兩個工具類。

三:用的設計模式

Java集合框架中用的很多的介面卡設計模式