原文:JDK1.8源碼(十一)——java.util.TreeMap類

在前面幾篇博客分別介紹了這樣幾種集合,基於數組實現的ArrayList 類,基於鏈表實現的LinkedList 類,基於散列表實現的HashMap 類,本篇博客我們來介紹另一種數據類型,基於樹實現的TreeSet類。 TreeMap 定義 聽名字就知道,TreeMap 是由Tree 和 Map 集合有關的,沒錯,TreeMap 是由紅黑樹實現的有序的 key value 集合。 PS:想要學懂T ...

2019-05-14 22:42 0 2638 推薦指數:

查看詳情

JDK1.8源碼(五)——java.util.ArrayList

  關於 JDK 的集合的整體介紹可以看這張圖,本篇博客我們不系統的介紹整個集合的構造,重點是介紹 ArrayList 是如何實現的。 1、ArrayList 定義   ArrayList 是一個用數組實現的集合,支持隨機訪問,元素有序且可以重復。 public class ...

Wed Mar 28 17:13:00 CST 2018 12 11664
JDK1.8源碼(四)——java.util.Arrays

一、概述 1、介紹   Arrays JDK1.2 提供的一個工具,提供處理數組的各種方法,基本上都是靜態方法,能直接通過名Arrays調用。 二、源碼 1、asList()方法   將一個泛型數組轉化為List集合返回。但是,這個List集合既不是ArrayList實例 ...

Sun Sep 26 17:19:00 CST 2021 0 217
JDK1.8源碼(九)——java.util.LinkedHashMap

  前面我們介紹了 Map 集合的一種典型實現 HashMap ,關於 HashMap 的特性,我們再來復習一遍:   ①、基於JDK1.8的HashMap是由數組+鏈表+紅黑樹組成,相對於早期版本的 JDK HashMap 實現,新增了紅黑樹作為底層數據結構,在數據量較大且哈希碰撞較多 ...

Wed Nov 21 16:51:00 CST 2018 8 3851
JDK1.8源碼(四)——java.util.Arrays

  java.util.Arrays JDK 提供的一個工具,用來處理數組的各種方法,而且每個方法基本上都是靜態方法,能直接通過名Arrays調用。 1、asList   作用是返回由指定數組支持的固定大小列表。   注意:這個方法返回的 ArrayList ...

Mon Mar 26 15:21:00 CST 2018 2 10905
JDK1.8源碼(七)——java.util.HashMap

  本篇博客我們來介紹在 JDK1.8 中 HashMap 的源碼實現,這也是最常用的一個集合。但是在介紹 HashMap 之前,我們先介紹什么是 Hash表。 1、哈希表   Hash表也稱為散列表,也有直接譯作哈希表,Hash表是一種根據關鍵字值(key - value)而直接進行訪問 ...

Fri Apr 13 06:49:00 CST 2018 19 14882
JDK1.8源碼(六)——java.util.LinkedList

  上一篇博客我們介紹了List集合的一種典型實現 ArrayList,我們知道 ArrayList 是由數組構成的,本篇博客我們介紹 List 集合的另一種典型實現 LinkedList,這是一個由 ...

Mon Apr 02 17:44:00 CST 2018 4 9892
JDK1.8源碼(六)——java.util.ArrayList

一、概述 1、介紹   ArrayList元素是有序的,可重復。線程不安全的。底層維護一個 Object 數組。  JDK1.7:ArrayList像餓漢式,默認初始長度直接創建一個容量為 10 的數組。  JDK1.8:ArrayList像懶漢式,默認一開始創建一個長度為 0 的數組,當添加 ...

Tue Sep 28 17:50:00 CST 2021 0 341
JDK1.8源碼(十)——java.util.LinkedHashSet

  同 HashSet 與 HashMap 的關系一樣,本篇博客所介紹的 LinkedHashSet 和 LinkedHashMap 也是一致的。在 JDK 集合框架中,類似 Set 集合通常都是由對應的 Map 集合來實現的(TreeSet 和 TreeMap 同理),這里很重要的一個理論 ...

Sat Nov 24 17:23:00 CST 2018 0 1559
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM