Una domanda molto semplice e veloce sulle librerie Java: esiste una classe già pronta che implementa una Queue
con una dimensione massima fissa - cioè consente sempre l'aggiunta di elementi, ma rimuoverà silenziosamente gli elementi head per accogliere lo spazio per gli elementi appena aggiunti.
Certo, è banale implementarlo manualmente:
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;
}
}
Per quanto vedo, non esiste un'implementazione standard negli stdlibs Java, ma potrebbe essercene una in Apache Commons o qualcosa del genere?