Eine sehr einfache und schnelle Frage zu Java-Bibliotheken: Gibt es eine vorgefertigte Klasse, die eine Queue
mit einer festen maximalen Größe implementiert - dh sie ermöglicht immer das Hinzufügen von Elementen, entfernt jedoch stillschweigend Kopfelemente, um Platz für neu hinzugefügte Elemente zu schaffen.
Natürlich ist es trivial, es manuell zu implementieren:
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;
}
}
Soweit ich sehe, gibt es keine Standardimplementierung in Java stdlibs, aber vielleicht gibt es eine in Apache Commons oder so?