我正在研究一个简单的数据结构,它将实现缓存驱逐策略。我想实现的两种可能的场景是LRU 和 MRU
我正在寻找一种类似地图的数据结构,其中键可能是时间(或者可能只是自动递增的整数),以了解最近使用或最近使用最少的缓存块。值是块的 ID。
是否存在现有的数据结构,可以通过插入键对数据进行排序,并在 O(1) 时间内检索某个键的值?
例如,Java 的 HashMap 具有恒定时间查找,但我需要获取所有键,对它们进行排序并根据我正在实现的算法选择最后一个或第一个。SortedMap是我应该去的吗?您是否建议任何其他适用于 LRU 和 MRU 实现的数据结构?
谢谢