如何在 Java 中实现大小受限的队列
在 Java 中,具有固定最大大小的队列的标准实现并不存在。然而,手动实现它很简单:
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 解决方案
或者,Apache Commons Collections 4 提供了一个满足要求的 CircularFifoQueue 类:
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]
对于 Apache Commons Collections 3.x,请使用CircularFifoBuffer。
以上是如何在Java中实现大小受限的队列?的详细内容。更多信息请关注PHP中文网其他相关文章!