Список максимального размера в Java

Мне было полезно иметь структуру данных на Java, которая имеет все функциональные возможности списка, но имеет максимальную емкость хранилища и удаляет старые данные при добавлении новых данных. Возможно, в какой-то момент я захочу реализовать очередь фиксированного размера, которая поддерживает более общий порядок данных и отбрасывает старые данные в самом низком порядке, но это на будущее.

В настоящее время я внедряю это примерно так:

public class FixedSizeList<T> {

  private final int maxSize;
  private final LinkedList<T> list = new LinkedList<T>();

  public FixedSizeQueue(int maxSize) {
    this.maxSize = maxSize < 0 ? 0 : maxSize;
  }

  public T add(T t) {
    list.add(t);
    return list.size() > maxSize ? list.remove() : null;
  }

  // add remaining methods...

}

Есть ли (а) существующая структура данных, которая удовлетворяет мои потребности, или (б) лучший способ реализации этой структуры данных?

14
задан Gavriel 27 January 2016 в 11:57
поделиться