posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          linkedHashMap也是map的實現,使用Iterator遍歷的時候 最先得到的是先插入的數據。
          保證了數據插入的順序。

          public class LRUMap<K, V> extends LinkedHashMap<K, V> {

              private static final long serialVersionUID = -3700466745992492679L;

              private int               coreSize;

              public LRUMap(int coreSize) {
                  super(coreSize + 1, 1.1f, true);
                  this.coreSize = coreSize;
              }

              @Override
              protected boolean removeEldestEntry(java.util.Map.Entry<K, V> eldest) {
                  return size() > coreSize;
              }
          }


          覆蓋removeEldestEntry方法,當超過這個容量的時候,
          put進新的值方法返回true時,便移除該map中最老的鍵和值

          public LinkedHashMap (int initialCapacity, float loadFactor, boolean accessOrder);

           initialCapacity   初始容量

           loadFactor    加載因子,一般是 0.75f

           accessOrder   false 基于插入順序  true  基于訪問順序(get一個元素后,這個元素被加到最后,使用了LRU 最近最少被使用的調度算法)

          如 boolean accessOrder = true; 
                Map<String, String> m = new LinkedHashMap<String, String>(20, .80f,  accessOrder  );
                m.put("1", "my"));

                m.put("2", "map"));

                m.put("3", "test"));

                m.get("1");

                m.get("2");

                Log.d("tag",  m);

               若 accessOrder == true;  輸出 {3=test, 1=my, 2=map}

                   accessOrder == false;  輸出 {1=my, 2=map,3=test}







          評論

          # re: 借助linkedHashMap 實現 LRUMap,按查詢頻率  回復  更多評論   

          2012-09-20 16:36 by Lingo
          hello,在嗎?我是獵頭Lingo,有一個web開發的職位想作推薦,但您的電話號碼錯誤。方便的話打個電話給我吧:13989485332

          # re: 借助linkedHashMap 實現 LRUMap,按查詢頻率  回復  更多評論   

          2012-09-26 16:58 by 云云
          新浪微博是hello_yun @Lingo

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 莎车县| 故城县| 花垣县| 安达市| 克什克腾旗| 犍为县| 五莲县| 绥棱县| 南投市| 合山市| 微博| 汤阴县| 甘泉县| 唐海县| 张家港市| 台山市| 汕尾市| 黎平县| 合水县| 石柱| 喀喇沁旗| 宿州市| 泗阳县| 临漳县| 荃湾区| 中宁县| 高陵县| 祁阳县| 宁波市| 疏勒县| 当阳市| 黎城县| 蒲城县| 尤溪县| 客服| 峡江县| 丽江市| 任丘市| 佛冈县| 临洮县| 文成县|