前一篇我們分析了TreeMap,接下來我們分析TreeSet,比較有意思的地方是,似乎有Map和Set的地方,Set幾乎都成了Map的一個馬甲。此話怎講呢?在前面一篇討論HashMap和HashSet的詳細實現討論里,我們發現HashSet的詳細實現都是通過封裝了一個HashMap的成員變量來實現 ...
前面一章節,我們介紹了集合的類圖,那么本節將學習Collection 接口中最常用的子類ArrayList類,本章分為下面幾部分講解 說明本章采用的JDK . 源碼進行分析,因為個人認為雖然JDK . 進行了部分改動,但萬變不離其宗,仍然采用的JDK . 的引子進行的優化,因此學會了 . 對於 . 也就理解了 。 一 ArrayList 的常見功能 在分析ArrayList的源碼前,我們先看下Ar ...
2017-10-31 08:27 0 1315 推薦指數:
前一篇我們分析了TreeMap,接下來我們分析TreeSet,比較有意思的地方是,似乎有Map和Set的地方,Set幾乎都成了Map的一個馬甲。此話怎講呢?在前面一篇討論HashMap和HashSet的詳細實現討論里,我們發現HashSet的詳細實現都是通過封裝了一個HashMap的成員變量來實現 ...
首先想說的是關於HashMap源碼的分析園子里面應該有很多,並且都是分析得很不錯的文章,但是我還是想寫出自己的學習總結,以便加深自己的理解,因此就有了此文,另外因為小孩過來了,因此更新速度可能放緩了,(#^.^#) 一、HashMap的簡單使用 學習任何一個集合,首先最基本的是學會 ...
的LinkedList 即可。 一、LinkedList的簡單使用 任何代碼在深入分析前,首先需要會使用,因此我們先 ...
上一篇容器元素比較Comparable&Comparator分析的時候,我們提到了TreeMap,但沒有去細致分析它,只是說明其在添加元素的時候可以進行比較,從而使得集合有序,但是怎么做的呢?我們下面來進行分析。 一、認識TreeMap 之前的文章講解了HashMap,它保證了以O ...
最近因為一些瑣碎的事情,導致一直沒時間寫博客,正好今天需求開發完的早,所以趁早寫下本文,本文主要學習的是Hashtable的分析,因為上面一篇文章研究的是HashMap,而Hashtable和HashMap之間存在相似處,是面試中經常會問到的一個問題,因此進行下分析 ...
前面我們已經接觸過幾種數據結構了,有數組、鏈表、Hash表、紅黑樹(二叉查詢樹),今天再來看另外一種數據結構:棧。 什么是棧呢,我們先看一個例子:棧就相當於一個很窄的木桶,我們往木桶里放東西,往 ...
傳統的垃圾回收 CMS 與 G1 停頓時間瓶頸 ZGC 概覽 深入 ZGC 原理 標記 Marking 着色指針 Reference Coloring Relocation 重映射和讀屏障 Remapping ...
我們經常用容器來存放元素,通常而言我們是不關系容器中的元素是否有序,但有些場景可能要求容器中的元素是有序的,這個時候用ArrayList LinkedList Hashtable HashMap HashSet 這些容器本身存放的時候就沒有辦法做到了,這個時候我們有兩種思路:第一種思路:對剛剛 ...