最近碰到的一道有关问题

最近碰到的一道问题哪个Map最适合用来实现LRUCache?ATreeMapBHashMapCWeakHashMapDHashtableEIdentitiyHas

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