容量有限的FIFO缓冲区可覆盖最旧的元素

时间:2013-04-18 17:21:10

标签: java data-structures

我正在尝试在Java中创建一个FIFO (first in first out)数据结构,该数据结构的容量有限,并且在没有足够空间用于新元素时删除最旧的元素。例如:

FIFO<Integer> fifo = new FIFO<Integer>(100); // 100 elements maximum
for (int i = 0; i < 500; i++) {
  fifo.write(i);
}
assert fifo.read() == 400; // elements 0..399 are lost

我是否重新发明了一个轮子?你能推荐一些同样的库(或者也许它是JDK的一部分)吗?线程安全并不重要。

1 个答案:

答案 0 :(得分:5)

Apache的Common.CollectionsCircularFifoBuffer,符合您的要求。