我想知道是否有任何用于循环队列的 java 内置包,如果存在,那么使用它的构造函数是什么?
user9913522
问问题
336 次
1 回答
0
您可以使用Class CircularFifoBuffer
fromapache
构建具有固定大小的缓冲区,如果已满,则替换其最旧的元素。
构造函数如下所示:
Buffer circularQueue = new CircularFifoBuffer(size);
来自官方文档:
公共类 CircularFifoBuffer 扩展了 BoundedFifoBuffer
CircularFifoBuffer 是一个具有固定大小的先进先出缓冲区,如果已满则替换其最旧的元素。一个 CircularFifoBuffer 的移除顺序是基于插入顺序的;元素的删除顺序与添加顺序相同。迭代顺序与删除顺序相同。
add(Object)、BoundedFifoBuffer.remove() 和 BoundedFifoBuffer.get() 操作都在恒定时间内执行。所有其他操作都在线性时间或更短的时间内执行。
请注意,此实现不同步。以下可用于提供对 CircularFifoBuffer 的同步访问:
于 2019-02-11T12:18:49.560 回答