集合框架複習之集合框架層次體系結構(一)

Java集合框架中定義的所有接口和類都存儲在java.util包中,並且集合框架中的所有具體類都實現了java.lang.Cloneable和java.io.Serializable接口,即它們的實例都是可複製並可序列化的。


集合框架大體的體系結構如下,省略了具體的便利類,如AbstractCollection,AbstractSet等。


Java Collections Framework(Java集合框架)

—collection((接口)集合:爲了存儲一個元素集合)

——Set((接口)規則集,它的實例用於存儲一組不重複的元素)

————HashSet(散列集)

——————LinkedHashSet(鏈式散列集)

————TreeSet(樹形集)

——List((接口)線性表接口,它的實例用於存儲一個由元素構成的有序集合)

————ArrayList(數組線性表類)

————LinkedList(鏈表類)

————Vector(向量類)

——————Stack(棧類擴展了Vector類)

——Queue((接口)隊列,它的實例用於存儲用先進先出方式處理的對象)

————Deque((接口)雙端隊列,是“double ended queue(雙端隊列)”的縮寫,一個線性 collection,支持在兩端插入和移除元素)

——————LinkedList(注意這個類,也就是說它既實現了List,又實現了Deque,所以我們可以用LinkedList創建一個隊列)

——————ArrayDeque(Deque接口的大小可變數組的實現類)

————BlockingDeque((接口)阻塞雙端隊列)

——————LinkedBlockingDeque(一個基於已鏈接節點的、任選範圍的阻塞雙端隊列類)

————BlockingQueue((接口)阻塞隊列)

——————LinkedBlockingDeque(這個類既實現了BlockingDeque,又實現了BlockingQueue)

——————ArrayBlockingQueue(一個由數組支持的有界阻塞隊列)

——————LinkedBlockingQueue(一個基於已鏈接節點的、範圍任意的阻塞隊列)

——————PriorityBlockingQueue(優先阻塞隊列,一個無界阻塞隊列,它使用與類PriorityQueue相同的順序規則,並且提供了阻塞獲取操作)

——————SynchronousQueue(同步隊列,一種阻塞隊列,其中每個插入操作必須等待另一個線程的對應移除操作 ,反之亦然)

——————DelayQueue(Delayed 元素的一個無界阻塞隊列,只有在延遲期滿時才能從中提取元素)

————PriorityQueue(一個基於優先級堆的無界優先級隊列)

—map((接口)圖:存儲鍵/值對)

————HashMap(基於哈希表的 Map 接口的實現。此實現提供所有可選的映射操作,並允許使用null 值和null 鍵)

——————LinkedHashMap(Map 接口的哈希表和鏈接列表實現,具有可預知的迭代順序)

————TreeMap(基於紅黑樹(Red-Black tree)的NavigableMap(擴展的SortedMap)實現。該映射根據其鍵的自然順序進行排序,或者根據創建映射時提供的Comparator進行排序,具體取決於使用的構造方法)

————HashTable(此類實現一個哈希表,該哈希表將鍵映射到相應的值。任何非 null 對象都可以用作鍵或值)



對於規則集和線性表,規則集比線性表更高效。如果我們不需要重複,那就選擇規則集,如果不僅不需要重複,而且不需要特別的順序,就選散列集



發佈了8 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章