最近碰到的一道问题
哪个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接口,可以对其排序