Эффективное моделированиеMruList в C # или Java

Как реализовать способности ограничены, generic MruList в C# или Java?

я хочу иметь класс, который представляет собой недавно использованных кэша или список (= MruList). Он должен быть общим, и ограниченной емкостью (count), заданное при создании экземпляра. Я бы хотел интерфейс, что-то вроде:

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
}

в Каждом Магазине() должен поставить товар в верхней (передней?) списка. GetList() должна вернуть все элементы в упорядоченный список, упорядоченный по последним магазин. Если я называю Store() в 20 раз, а мой список 10 пунктов долго, я только хочу сохранить 10 самых последних Хранимых элементов. GetList и StoreRange предназначен для поддержки извлечения/save из MruList на app Пуск и останов.

Это для поддержки GUI-приложения.Я думаю, я может тоже хочу знать о времени создания хранимой номенклатуры. Может быть. Не уверен.

Внутри, как реализовать это, и почему?

(нет, это не курс назначения)

Найдено 7 ответов:

Efficient modelling of an MruList in C# or Java

http://stackoverflow.com/questions/849527/efficient-modelling-of-an-mrulist-in-c-sharp-or-java

Посмотреть решение →