Очень простой и быстрый вопрос о библиотеках Java: есть ли готовый класс, который реализует Queue
с фиксированным максимальным размером - то есть он всегда позволяет добавлять элементы, но он будет молча удалять элементы головы для размещения пространства для вновь добавленных элементов.
Конечно, тривиально реализовать его вручную:
import java.util.LinkedList;
public class LimitedQueue<E> extends LinkedList<E> {
private int limit;
public LimitedQueue(int limit) {
this.limit = limit;
}
@Override
public boolean add(E o) {
super.add(o);
while (size() > limit) { super.remove(); }
return true;
}
}
Насколько я вижу, стандартная реализация в Java stdlib отсутствует, но может быть там в Apache Commons или что-то в этом роде?