哪个Map最适合用来实现LRU Cache?
A  TreeMap
B  HashMap
C  WeakHashMap
D  Hashtable
E  IdentitiyHashMap
希望能有高手解答一下  解释一下具体的原因  谢谢了

解决方案 »

  1.   

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

  2.   

    我觉得是A,因为TreeMap实现了SortedMap接口,可以对其排序