0

我想知道是否有任何用于循环队列的 java 内置包,如果存在,那么使用它的构造函数是什么?

4

1 回答 1

0

您可以使用Class CircularFifoBufferfromapache构建具有固定大小的缓冲区,如果已满,则替换其最旧的元素。

构造函数如下所示:

Buffer circularQueue = new CircularFifoBuffer(size);

来自官方文档:

公共类 CircularFifoBuffer 扩展了 BoundedFifoBuffer

CircularFifoBuffer 是一个具有固定大小的先进先出缓冲区,如果已满则替换其最旧的元素。一个 CircularFifoBuffer 的移除顺序是基于插入顺序的;元素的删除顺序与添加顺序相同。迭代顺序与删除顺序相同。

add(Object)、BoundedFifoBuffer.remove() 和 BoundedFifoBuffer.get() 操作都在恒定时间内执行。所有其他操作都在线性时间或更短的时间内执行。

请注意,此实现不同步。以下可用于提供对 CircularFifoBuffer 的同步访问:

查看文档:公共类 CircularFifoBuffer

于 2019-02-11T12:18:49.560 回答