在看Java API时,才知道LinkedHaspMap适合构建 LRU 缓存,记录下,方便以后查阅。
public static void main(String[] args) {
final int cacheSize = 5;
LinkedHashMap<String, String> cache = new LinkedHashMap<String, String>(cacheSize,0.75f,true){
@Override
protected boolean removeEldestEntry(
Map.Entry<String, String> eldest) {
return size()>cacheSize;
}
};
cache.put("1", "a");
cache.put("2", "b");
cache.put("3", "c");
cache.put("4", "d");
System.out.println(cache.get("1"));
System.out.println(cache.get("1"));
cache.put("5", "e");
cache.put("6", "f");
cache.put("7", "g");
System.out.println(cache.get("2"));
}
输出:
a
a
null