当前位置: 代码迷 >> Android >> 2013.04.03——— android 图片缓存之一LinkedHashMap引见
  详细解决方案

2013.04.03——— android 图片缓存之一LinkedHashMap引见

热度:99   发布时间:2016-05-01 10:56:46.0
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());		}			}}



结果:

012204



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

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

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



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


  相关解决方案