您将如何在 C# 或 Java 中实现容量有限的通用 MruList?
我想要一个代表最近使用的缓存或列表(= MruList)的类。它应该是通用的,并且限制在实例化时指定的容量(计数)。我希望界面类似于:
public interface IMruList<T>
{
public T Store(T item);
public void Clear();
public void StoreRange(T[] range);
public List<T> GetList();
public T GetNext(); // cursor-based retrieval
}
每个 Store() 都应该将项目放在列表的顶部(前面?)。GetList() 应返回按最近商店排序的有序列表中的所有项目。如果我调用 Store() 20 次并且我的列表有 10 个项目长,我只想保留最近存储的 10 个项目。GetList 和 StoreRange 旨在支持在应用程序启动和关闭时检索/保存 MruList。
这是为了支持 GUI 应用程序。我想我可能还想知道存储项目的时间戳。也许。没有把握。
在内部,您将如何实施它,为什么?
(不,这不是课程作业)