
集合容器
集合容器:用于存儲數據的容器。
集合容器是為表示和操作集合而規定的一種統一的標準的體系結構。
任何集合框架都包含三大塊內容:對外的接口、接口的實現和對集合運算的算法。
ThinkWon
敏于觀察,勤于思考,善于綜合,勇于創新。
-
轉載 TreeMap(JDK1.8)源碼解析
文章目錄簡介概覽源碼分析查找遍歷插入刪除總結簡介TreeMap最早出現在JDK 1.2中,是 Java 集合框架中比較重要一個的實現。TreeMap 底層基于紅黑樹實現,可保證在log(n)時間復雜度內完成 containsKey、get、put 和 remove 操作,效率很高。另一方面,由于 TreeMap 基于紅黑樹實現,這為 TreeMap 保持鍵的有序性打下了基礎??偟膩碚f,Tree...2019-10-15 18:35:475130
3
-
原創 HashMap(JDK1.8)源碼解析
簡介在JDK1.8之前,HashMap采用數組+鏈表實現,即使用鏈表處理沖突,同一hash值的節點都存儲在一個鏈表里。但是當位于一個桶中的元素較多,即hash值相等的元素較多時,通過key值依次查找的效率較低。而JDK1.8中,為了解決hash碰撞過于頻繁的問題,HashMap采用數組+鏈表+紅黑樹實現,當鏈表長度超過閾值(8)時,將鏈表(查詢時間復雜度為O(n))轉換為紅黑樹(時間復雜度為O(...2019-08-08 09:28:169866
8
-
原創 ArrayList(JDK1.8)源碼解析
既然是看源碼,那我們要怎么看一個類的源碼呢?這里我推薦的方法是:1)看繼承結構? 看這個類的層次結構,處于一個什么位置,可以在自己心里有個大概的了解。2)看構造方法? 在構造方法中,看做了哪些事情,跟蹤方法中里面的方法。3)看常用的方法? 跟構造方法一樣,這個方法實現功能是如何實現的注:既然是源碼,為什么要這樣設計類,有這樣的繼承關系。這就要說到設計模式的問題了。所以我們要了解常用的...2019-08-08 09:18:059251
9
-
原創 Java集合框架總結
簡介集合框架:用于存儲數據的容器。集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容:對外的接口、接口的實現和對集合運算的算法。接口:表示集合的抽象數據類型。接口允許我們操作集合時不必關注具體實現,從而達到“多態”。在面向對象編程語言中,接口通常用來形成規范。實現:集合接口的具體實現,是重用性很高的數據結構。算法:在一個實現了某個集合框架中的接口的...2019-08-08 09:13:1618142
15
-
轉載 LinkedHashMap(JDK1.8)源碼解析
文章目錄概述原理源碼分析Entry 的繼承體系鏈表的建立過程鏈表節點的刪除過程訪問順序的維護過程基于 LinkedHashMap 實現緩存總結概述LinkedHashMap 繼承自 HashMap,在 HashMap 基礎上,通過維護一條雙向鏈表,解決了 HashMap 不能隨時保持遍歷順序和插入順序一致的問題。除此之外,LinkedHashMap 對訪問順序也提供了相關支持。在一些場景下,該...2019-10-15 20:31:235108
4
-
轉載 LinkedList(JDK1.8)源碼解析
文章目錄概述繼承體系源碼分析查找遍歷插入刪除總結概述LinkedList 是 Java 集合框架中一個重要的實現,其底層采用的雙向鏈表結構。和 ArrayList 一樣,LinkedList 也支持空值和重復值。由于 LinkedList 基于鏈表實現,存儲元素過程中,無需像 ArrayList 那樣進行擴容。但有得必有失,LinkedList 存儲元素的節點需要額外的空間存儲前驅和后繼的引用...2019-10-15 20:11:014892
4