Мне полезно иметь структуру данных в 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...
}
Существует ли (a) существующая структура данных, которая удовлетворяет мои потребности, или (б) лучший способ реализации этой структуры данных?