Comment implémenter une file d'attente de taille limitée en Java
En Java, une implémentation standard pour une file d'attente avec une taille maximale fixe ne exister. Cependant, son implémentation manuelle est simple :
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; } }
Solution Apache Commons Collections
Alternativement, Apache Commons Collections 4 fournit une classe CircularFifoQueue qui répond aux exigences :
import java.util.Queue; import org.apache.commons.collections4.queue.CircularFifoQueue; Queue<Integer> fifo = new CircularFifoQueue<>(2); fifo.add(1); fifo.add(2); fifo.add(3); System.out.println(fifo); // [2, 3]
Pour Apache Commons Collections 3.x, utilisez CirculaireFifoBuffer.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!