Очередь с ограниченным размером, содержащая последние N элементов в Java

Очень простой и быстрый вопрос по библиотекам 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 stdlibs нет стандартной реализации, но может быть там ' один в Apache Commons или что-то в этом роде?

184
задан GreyCat 21 August 2013 в 10:42
поделиться