当前位置: 代码迷 >> J2SE >> 最近碰到的一道有关问题
  详细解决方案

最近碰到的一道有关问题

热度:119   发布时间:2016-04-24 16:02:37.0
最近碰到的一道问题
哪个Map最适合用来实现LRU   Cache?
A     TreeMap
B     HashMap
C     WeakHashMap
D     Hashtable
E     IdentitiyHashMap


希望能有高手解答一下     解释一下具体的原因     谢谢了

------解决方案--------------------
LRU是Least Recently Used(最久未使用),也就是说需要对缓存的对象的时间进行记录(这个时间可能会被更新),而根据这个时间进行缓存的更新。这样的话,选择A TreeMap比较合适:把缓存的时间作为key(当然需要不同的对象缓存时间不同),缓存的对象作为value。而根据TreeMap的有序属性,可以很方便的在缓存中删除最久未使用的缓存对象,从而可以添加新缓存的对象。
------解决方案--------------------
我觉得是A,因为TreeMap实现了SortedMap接口,可以对其排序
  相关解决方案