在Java中,拥有所有List功能但具有最大存储容量并在添加新数据时删除旧数据的数据结构对我非常有用。在某些情况下,我可能希望实现一个固定大小的队列,它保持更一般的数据排序,并且删除该排序中最低的旧数据,但这是将来的事情。
目前,我的实现方式如下:
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...
}
是否有现有的数据结构可以满足我的需求,或者有更好的实现该数据结构的方法?