2013.04.03——— android 图片缓存之一LinkedHashMap介绍

2013.04.03——— android 图片缓存之一LinkedHashMap介绍
参考: http://blog.csdn.net/miraclestar/article/details/6959416
http://inter12.iteye.com/blog/716236

我们用LinkedHashMap来实现lru缓存

public class TestLinkedHashMap {
	public static void main(String[] args) {
		
		LinkedHashMap<String, Integer> map = new LinkedHashMap<String, Integer>(3, .75f, true){
			@Override
			protected boolean removeEldestEntry(
					java.util.Map.Entry<String, Integer> eldest) {
				return size() > 3;
			}
		};
		
		for(int i=0;i<3;i++){
			map.put(i+"", i);
		}
		for(Iterator iter = map.values().iterator();iter.hasNext();){
			System.out.println(iter.next());
		}
		map.get("0");
		map.put("4", 4);
		for(Iterator iter = map.values().iterator();iter.hasNext();){
			System.out.println(iter.next());
		}
		
	}
}



结果:

0
1
2
2
0
4



可以看出来 这样就会删除最少使用的item了

关于第三个参数: 如果为false 就是按照 插入顺序 为true 就是按访问的顺序排序

如果 没有map.get("0"); 那么结果就为
0
1
2
1
2
4



因为我使用了 0  所以 就把1删除了


猜你喜欢

转载自trylovecatch.iteye.com/blog/1841533