public LinkedHashMap<String, String> keyMap;
private Integer si = 5;
public String eldestKey;
@Before
public void init() {
keyMap = new LinkedHashMap<String, String>(si, .75F, true) {
private static final long serialVersionUID = 4485729692063620114L;
@Override
protected boolean removeEldestEntry(Map.Entry<String, String> eldest) {
boolean tooBig = size() > si;
if (tooBig) {
eldestKey = eldest.getKey();
}
return tooBig;
}
};
}
@Test
public void test01() {
System.out.println(keyMap.put("1", "2"));
System.out.println(keyMap.put("2", "2"));
System.out.println(keyMap.put("3", "2"));
System.out.println(keyMap.put("4", "2"));
System.out.println(keyMap.put("5", "2"));
System.out.println(keyMap.put("6", "2"));
System.out.println(keyMap.put("7", "2"));
System.out.println(keyMap.put("8", "2"));
}
LinkedHashMap实现LRU算法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 数据结构与算法 1 缓存 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非常广泛的应用,比如常见的...
- LRU算法 LRU(Least Recently Used),即最近最少使用算法。常用于实现一个简单的缓存功能,就...
- 缓存算法(淘汰算法),常见算法有LRU、LFU和FIFO等算法,每种算法各有各的优势和缺点及适应环境。 PAGE ...
- 和hashmap相比,linkedhashmap是有序的,顺序方式两种,插入顺序和访问顺序,而后面要说的lru就是...