Heim >Java >javaLernprogramm >Wie implementiert man eine Warteschlange mit begrenzter Größe in Java?
So implementieren Sie eine Warteschlange mit begrenzter Größe in Java
In Java ist dies bei einer Standardimplementierung für eine Warteschlange mit einer festen maximalen Größe nicht der Fall existieren. Die manuelle Implementierung ist jedoch unkompliziert:
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; } }
Apache Commons Collections Solution
Alternativ stellt Apache Commons Collections 4 eine CircularFifoQueue-Klasse bereit, die die Anforderungen erfüllt:
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]
Für Apache Commons Collections 3.x verwenden Sie CircularFifoBuffer.
Das obige ist der detaillierte Inhalt vonWie implementiert man eine Warteschlange mit begrenzter Größe in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!