实现MRU算法

时间:2013-04-18 12:50:32

标签: java algorithm caching

我想实现一个简单的MRU缓存:我将使用队列:

get(Object):
  • 检查队列是否包含对象
    • 是:从队列中删除它并将其插入开头
    • 否:向系统转发请求,获取元素并在开头插入

这种方法可以吗?我已经看到许多实现使用地图,但我不明白为什么。为什么我需要缓存的Key,Value对?!

1 个答案:

答案 0 :(得分:0)

因为使用地图检查集合是否包含元素要快得多(理论上为O(1)),对于队列,您必须迭代所有现有元素并进行比较,即O(sizeOfQueue)