Une question très simple et rapide sur les bibliothèques Java: existe-t-il une classe prête à l'emploi qui implémente un Queue
avec une taille maximale fixe - c'est-à-dire qu'elle permet toujours l'ajout d'éléments, mais elle supprimera silencieusement les éléments head pour accueillir l'espace pour les éléments nouvellement ajoutés.
Bien sûr, il est trivial de l'implémenter manuellement:
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;
}
}
Pour autant que je vois, il n'y a pas d'implémentation standard dans stdlibs Java, mais peut-être qu'il y en a une dans Apache Commons ou quelque chose comme ça?