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

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


          網站導航:
           
          主站蜘蛛池模板: 仪陇县| 辽阳市| 鲁甸县| 平湖市| 巴南区| 怀远县| 呼玛县| 阳朔县| 福安市| 青川县| 称多县| 邢台县| 安溪县| 进贤县| 三明市| 杭州市| 鲁山县| 绍兴市| 徐水县| 康乐县| 广州市| 菏泽市| 巢湖市| 锡林郭勒盟| 永吉县| 霍城县| 临武县| 赞皇县| 原阳县| 万荣县| 饶平县| 大庆市| 雷山县| 台中市| 德昌县| 万山特区| 黄大仙区| 苏尼特右旗| 察雅县| 井研县| 瓮安县|