Java集合仅保留最后插入的成员

jol*_*ier 4 java collections

正如标题所述,我正在寻找一个java集合,只保留插入集合中的N个最后一个对象.此FIFO集合不需要实现随机访问或支持更改N.

我能找到的所有集合都是阻塞(LinkedBlockingQueue)或无限大小(ArrayDeque).我找到了org.eclipse.jetty.util.ArrayQueue,但你可能会猜到这会给我的项目带来很多不必要的依赖,而且非常复杂,因为它支持更改N所以它不是我需要的.

你知道是否有一种方法可以使用一个非常常见的java库,或者我必须自己编写它?

Bri*_*new 6

查看Apache Commons CircularFifoBuffer

CircularFifoBuffer是一个先进先出缓冲区,具有固定大小,如果已满,则替换其最旧的元素.

CircularFifoBuffer的删除顺序基于插入顺序; 元素的删除顺序与添加元素的顺序相同.迭代顺序与删除顺序相同.