序言

        本來是不打算先講map的,但是隨著對set集合的認識,發(fā)現(xiàn)如果不先搞懂各種map,是無法理解set的。因為set集合很多的底層就是用map來存儲的。比如HashSet就是用HashMap,LinkedHashSet就是用LinkedHashMap。所以打算把map講完把。

                                      ---WH

 

一、LinkedHashMap

      先來說說它的特點,然后在一一通過分析源碼來驗證其實現(xiàn)原理

        1、能夠保證插入元素的順序。深入一點講,有兩種迭代元素的方式,一種是按照插入元素時的順序迭代,比如,插入A,B,C,那么迭代也是A,B,C,另一種是按照訪問順序,比如,在迭代前,訪問了B,那么迭代的順序就是A,C,B,比如在迭代前,訪問了B,接著又訪問了A,那么迭代順序為C,B,A,比如,在迭代前訪問了B,接著又訪問了B,然后在訪問了A,迭代順序還是C,B,A。要說明的意思就是不是近期訪問的次數(shù)最多,就放最后面迭代,而是看迭代前被訪問的時間長短決定。

        3、內(nèi)部存儲的元素的模型。entry是下面這樣的,相比HashMap,多了兩個屬性,一個before,一個after。next和after有時候會指向同一個entry,有時候next指向null,而after指向entry。這個具體后面分析。

                    seo優(yōu)化培訓,網(wǎng)絡(luò)推廣培訓,網(wǎng)絡(luò)營銷
        
		<div   id=

網(wǎng)友評論