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

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


          網站導航:
           
          主站蜘蛛池模板: 汉源县| 宜川县| 内乡县| 贵定县| 鄂伦春自治旗| 乐至县| 靖安县| 柳州市| 清流县| 开平市| 阿合奇县| 盱眙县| 彭山县| 门源| 吴桥县| 香港 | 西城区| 隆化县| 长泰县| 海阳市| 临朐县| 廉江市| 邵武市| 建湖县| 垣曲县| 天津市| 台南县| 廉江市| 南漳县| 翼城县| 当雄县| 赣州市| 海淀区| 汨罗市| 琼中| 张家港市| 台山市| 盈江县| 通道| 黑河市| 大悟县|