JCF簡單總結
JCF(Java Collections Framework)即Java中運用最為廣泛的Java集合類,它是Java對常用數據結構的封裝,包含于java.util包中。所謂集合就是在類內部對數據進行組織的載體,Java API提供了一系列類的實例,用來在程序中存放對象,Java集合將接口和實現進行了分離。其接口與類的結構如下:
JCF接口結構
Iterable
|__Collection
|__List
|__Set
|__SortedSet
|__Queue
Map
|__SortedMap
Iterator
|__ListIterator
RandomAccess
JCF類的結構
AbstractCollection
|__AbstractList
|__AbstractSequentialList
|__LinkedList
|__ArrayList
|__AbstractSet
|__HashSet
|__TreeSet
|__AbstractQueue
|__PriorityQueue
AbstractMap
|__HashMap
|__TreeMap
由上述結構我們可以看出,整個Java集合類中主要包括了三個類型:集合(Set)、列表(List)和映射(Map)
集合:可形象的理解為是一個袋子,里面放的是一個個對象,它的無序且沒有重復的;
列表:可理解為是串在一條繩上的螞蚱,排列有一定的順序且元素可重復;
映射:可理解為是一張n行兩列的表,由一個鍵值對組成,其中key值不能重復
不過在實際運用中,我們有時也需要進行對集合中的元素進行排序輸出,或直接定位一個元素等操作,因而也就出現了實現了這三個接口的Java中的常用集合類
1.ArrayList
ArrayList是Java中最為常用也是最為重要的一個類。它實現了一個大小可變的數組,我們知道在Java中數組的長度一旦聲明就無法進行更改,因而對于一些不可預知長度的數組聲明就變得非常麻煩,空間小了則無法存儲后來添加的數據,空間大了則浪費資源。ArrayList的出現無疑給這種話麻煩畫上了一個句號,它可以隨著數據量的增長由Java內部機制自動地調整數組容量,做到資源的合理分配
2.LinkedList
LinkedList實現了數據結構中的鏈表(包括單向和雙向鏈表),它通過前驅與后繼結點將一系列元素有序的鏈接在一起,可以在任何位置高效地插入和刪除元素
3.HashSet
HashSet就是一個可以快速定位到某個元素的集合,其集合內部元素是根據元素的散列碼存放的,因而能夠進行快速定位,要求其中的元素都覆寫了hashCode方法
4.TreeSet
TreeSet是一個對中元素進行過排序的集合,要求其中的元素都實現了Comparable接口并覆寫compareTo方法
5.EnumSet
EnumSet是一個只包含枚舉類型的集合
6.LinkedHashSet
LinkedHashSet是一個可以記住元素被插入順序的集合
7.PriorityQueue
PriorityQueue是一個可以高效的移除最小元素的集合
8.HashMap
HashMap是一中通過散列碼存儲鍵值關聯的數據結構
9.TreeMap
TreeMap存儲鍵值有序的Map集合
10.EnumMap
EnumMap存儲鍵值屬于枚舉型的Map集合
留言列表