原文:Java 集合系列(四)—— ListIterator 源碼分析

以腦圖的形式來展示Java集合知識,讓零碎知識點形成體系 Iterator 對比 Iterator 迭代器 是一種設計模式,是一個對象,用於遍歷集合中的所有元素。 Iterator 包含四個方法,分別是:next hasNext remove forEachRemaining Consumer lt super E gt action Collection 接口繼承 java.lang.Itera ...

2019-04-05 23:30 0 668 推薦指數:

查看詳情

Java集合系列[1]----ArrayList源碼分析

本篇分析ArrayList的源碼,在分析之前先跟大家談一談數組。數組可能是我們最早接觸到的數據結構之一,它是在內存中划分出一塊連續的地址空間用來進行元素的存儲,由於它直接操作內存,所以數組的性能要比集合類更好一些,這是使用數組的一大優勢。但是我們知道數組存在致命的缺陷,就是在初始化時必須指定 ...

Mon Jan 15 18:04:00 CST 2018 0 1124
Java集合系列[3]----HashMap源碼分析

前面我們已經分析了ArrayList和LinkedList這兩個集合,我們知道ArrayList是基於數組實現的,LinkedList是基於鏈表實現的。它們各自有自己的優劣勢,例如ArrayList在定位查找元素時會優於LinkedList,而LinkedList在添加刪除元素時會優於 ...

Thu Jan 18 17:04:00 CST 2018 1 1020
Java入門系列集合HashMap源碼分析

前言 我們知道在Java 8中對於HashMap引入了紅黑樹從而提高操作性能,由於在上一節我們已經通過圖解方式分析了紅黑樹原理,所以在接下來我們將更多精力投入到解析原理而不是算法本身,HashMap在Java中是使用比較頻繁的鍵值對數據類型,所以我們非常有必要詳細去分析背后的具體實現原理,無論是 ...

Sun Dec 01 03:54:00 CST 2019 7 470
Java入門系列集合Hashtable源碼分析

前言 上一節我們實現了散列算法並對沖突解決我們使用了開放地址法和鏈地址法兩種方式,本節我們來詳細分析源碼,看看源碼中對於沖突是使用的哪一種方式以及對比我們所實現的,有哪些可以進行改造的地方。 Hashtable源碼分析 我們通過在控制台中實例化Hashtable並添加鍵值對實例代碼來分析背后 ...

Thu Sep 19 08:59:00 CST 2019 3 238
Java集合之TreeMap源碼分析

一、概述   TreeMap是基於紅黑樹實現的。由於TreeMap實現了java.util.sortMap接口,集合中的映射關系是具有一定順序的,該映射根據其鍵的自然順序進行排序或者根據創建映射時提供的Comparator進行排序,具體取決於使用的構造方法。另外TreeMap中不允許鍵對象 ...

Wed Jul 15 17:13:00 CST 2015 1 1682
Java集合之ArrayList源碼分析

一、ArrayList簡介   ArrayList是可以動態增長和縮減的索引序列,它是基於數組實現的List類。   該類封裝了一個動態再分配的Object[]數組,每一個類對象都有一個capac ...

Tue Jul 07 04:44:00 CST 2015 0 11824
Java集合之HashMap源碼分析

一、HashMap簡介   HashMap是基於哈希表的Map接口實現的,它存儲的是內容是鍵值對<key,value>映射。此類不保證映射的順序,假定哈希函數將元素適當的分布在各桶之間,可為基本操作(get和put)提供穩定的性能。   ps:本文中的源碼來自jdk1.8.0_45 ...

Sat Jul 11 01:07:00 CST 2015 2 1817
Java集合源碼分析(四)HashMap

一、HashMap簡介 1.1、HashMap概述   HashMap是基於哈希表的Map接口實現的,它存儲的是內容是鍵值對<key,value>映射。此類不保證映射的順序,假定哈希函 ...

Fri Oct 20 19:34:00 CST 2017 3 4345
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM