vickzhu

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            151 隨筆 :: 0 文章 :: 34 評(píng)論 :: 0 Trackbacks
          為了提高速度,LinkedHashMap散列化所有的元素,但是在遍歷鍵值對(duì)時(shí),卻又以元素的插入順序返回鍵值對(duì)(System.out.println()會(huì)迭代遍歷該映射,因此可以看到遍歷的結(jié)果)。此外,可以在構(gòu)造器中設(shè)定LinkedHashMap,使之采用基于訪問的最近最少使用(LRU)算法,于是沒有被訪問過的(可被看作需要?jiǎng)h除的)元素就會(huì)出現(xiàn)在隊(duì)列的前面。對(duì)于需要定期清理元素以節(jié)省空間的程序來說,此功能使得程序很容易得以實(shí)現(xiàn)。下面就是一個(gè)簡單的例子,它演示了LinkedHashMap的這兩種特點(diǎn):
          在輸出中可以看到,鍵值對(duì)是以插入的順序進(jìn)行遍歷的,甚至LRU算法的版本也是如此。但是,在LRU版本中,在(只)訪問過前面六個(gè)元素后,最后三個(gè)元素移到了隊(duì)列前面。然后再一次訪問元素“o”時(shí),它就被移到隊(duì)列后端了。
          LinkedHashMap平常用的比較少,但是卻是用在相當(dāng)重要的地方,利用其LRU算法可以創(chuàng)建對(duì)象池、連接池等等。
          posted on 2008-09-24 13:59 筱 筱 閱讀(2451) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: LinkedHashMap 的使用說明 2010-08-21 18:22 朱君浩
          不錯(cuò),有按輸入順序輸出的hashMap。。。。。  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 怀安县| 汉中市| 富平县| 福安市| 甘南县| 徐汇区| 稷山县| 大城县| 新竹市| 皋兰县| 黄平县| 马山县| 阿克| 洞头县| 禹城市| 大埔区| 绥中县| 利辛县| 襄城县| 怀集县| 旬邑县| 荔波县| 广汉市| 康马县| 绥宁县| 灵川县| 固始县| 吉林市| 库伦旗| 南华县| 舞钢市| 长治县| 米易县| 沛县| 且末县| 南川市| 冀州市| 浮梁县| 大荔县| 吉木萨尔县| 兰西县|