一 前言
本次重新撰寫技術類文章,不為別的,只為整理自己日常所學,亦為了大家共同交流努力的目的,文章以面試為目的,故不在贅述java中特別基礎的部分,如基本資料型別,執行緒基本實作等,
java集合分為兩大類:一類是Collection下的List,set,queue;另外一類是map,
二 傳統的JAVA集合類
1.List的主要實作
| list的實作 | 特點 |
| ArrayList | 動態陣列,底層基于陣列實作,執行緒不安全 |
| LinkedList | 雙重鏈表實作的佇列,執行緒不安全 |
| Stack | 先進后出,基于Vector實作,執行緒安全 |
| Vector | 動態陣列,執行緒安全 |
2.Set的主要實作
| Set的實作 | 特點 |
| HashSet | 基于HashMap實作,元素不可重復,迭代無序 |
| TreeSet | 基于TreeMap實作(NavigableSet),元素無序,不重復 |
| LinkedHashSet | 元素有序,維護一個雙重鏈表以保證有序 |
3.Map的主要實作
| Map的實作 | 特點 |
| HashMap | 基于哈希表的 Map 介面的實作,執行緒不安全 |
| TreeMap | 基于紅黑樹(Red-Black tree)的 NavigableMap 實作,該類的<k,v>是有序,執行緒不安全 |
| HashTable | 基于哈希表的Map實作,執行緒安全 |
| WeakHashMap | 以弱鍵 實作的基于哈希表的 Map,在 WeakHashMap 中,當某個鍵不再正常使用時,將自動移除其條目,該類是非執行緒安全的 |
三 JUC集合類
1.List的主要實作
| list的實作 | 特點 |
| CopyOnWriteArrayList | 相當于執行緒安全的ArrayList,它實作了List介面,讀寫分離,他是執行緒安全的 |
2.Set的主要實作類
| Set的實作 | 特點 |
| CopyOnWriteArraySet | 相當于執行緒安全的HashSet,內部使用 CopyOnWriteArrayList |
| ConcurrentSkipListSet | 一個基于 ConcurrentSkipListMap 的可縮放并發 NavigableSet 實作,內部排序是有序的 |
3.Map的主要實作類包括
| Map的實作 | 特點 |
| ConcurrentHashMap | 支持獲取的完全并發和更新的所期望可調整并發的哈希表 |
| ConcurrentSkipListMap | 可縮放的并發 ConcurrentNavigableMap 實作,內部排序是有序的Map,該類為執行緒安全的 |
4.Queue的主要實作類
| Queue的實作 | 特點 |
| ArrayBlockingQueue | 一個由陣列支持的有界阻塞佇列,此佇列按 FIFO(先進先出)原則對元素進行排序 |
| LinkedBlockingQueue | 一個基于已鏈接節點的、范圍任意的 blocking queue,此佇列按 FIFO(先進先出)排序元素 |
| LinkedBlockingDeque | 一個基于已鏈接節點的、任選范圍的阻塞雙端佇列 |
| ConcurrentLinkedQueue | 一個基于鏈接節點的無界執行緒安全佇列,此佇列按照 FIFO(先進先出)原則對元素進行排序 |
| ConcurrentLinkedDeque | 是雙向鏈表實作的無界佇列,該佇列同時支持FIFO和FILO兩種操作方式 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226155.html
標籤:其他
上一篇:Swagger 中 測驗介面沒Basic Authentication 驗證的token輸入框
下一篇:奧森版中國地圖
