1. 程式人生 > >java最簡單實現LRUCache

java最簡單實現LRUCache

import java.util.LinkedHashMap;  
import java.util.Map;  
public LRUCache<K, V> extends LinkedHashMap<K, V> {  
  private int cacheSize;  
  public LRUCache(int cacheSize) {  
    super(16, 0.75, true);  
    this.cacheSize = cacheSize;  
  }  

  protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {  
    return
size() >= cacheSize; } }

知識點
1. 建構函式引數:16表示初始化hashmap的數量;0.75表示hashmap數量達到0.75比重時,擴容2倍;true表示連結串列順序是訪問順序。
2. removeEldestEntry方法,回收策略的重寫方法。
3. cacheSize表示快取數量。