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

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

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

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

我查看了捆绑的Collection类,List,Queue等。 我也看了一下谷歌番石榴 。 但似乎都没有这个简单的function。

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

Apache Commons – CircularFifoQueue

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

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