是否有Java集合可以在添加更多项目时删除项目? (一个简单的缓存)

时间:2014-02-11 08:29:43

标签: java collections

我需要一个简单的缓存机制。

我想要跟上最近添加的100个最新项目,但不超过该限制。当我添加另一个项目时,我希望该集合自动删除第101个项目。想象一下,将LifeSaver糖果推到管子里 - 当我在管子的另一端添加另一个糖果时,另一端糖果会掉出来。

写我自己很简单。在执行“添加”之前,我的“添加”方法将首先删除最旧的项目。我只是想知道是否已经写过这样的课程。

我查看了捆绑的Collection类,List,Queue等。我也看了Google Guava。但似乎都没有这个简单的功能。

谷歌这是一个难题,因为我不知道这种行为的行话。

1 个答案:

答案 0 :(得分:10)

Apache Commons - CircularFifoQueue

  

CircularFifoQueue是一个先进先出队列,具有固定大小,如果已满,则替换其最旧的元素。

我想这就是你要找的行为。它来自Apache commons集合(link