Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个Java集合可以在添加更多项时删除项?(一个简单的缓存)_Java_Collections - Fatal编程技术网

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

是否有一个Java集合可以在添加更多项时删除项?(一个简单的缓存),java,collections,Java,Collections,我需要一个简单的缓存机制 我想保持最近添加的100个项目,但不超过该限制。当我添加另一项时,我希望集合自动删除第101项。想象一下,把救命糖果推过一根管子——当我在管子的一端加上另一颗糖果时,另一端会掉出另一颗糖果 我自己写会很简单。我的“添加”方法将首先删除最旧的项,然后再执行“添加”。我只是想知道是否已经有这样一门课了 我查看了捆绑的集合类、列表、队列等。我看起来也很好。但似乎没有一个具有这种简单的功能 这对谷歌来说是一个困难的话题,因为我不知道这种行为的行话。Apache Commons–

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

我想保持最近添加的100个项目,但不超过该限制。当我添加另一项时,我希望集合自动删除第101项。想象一下,把救命糖果推过一根管子——当我在管子的一端加上另一颗糖果时,另一端会掉出另一颗糖果

我自己写会很简单。我的“添加”方法将首先删除最旧的项,然后再执行“添加”。我只是想知道是否已经有这样一门课了

我查看了捆绑的集合类、列表、队列等。我看起来也很好。但似乎没有一个具有这种简单的功能

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

Apache Commons–CircularFifQueue CircularFifoQueue是一个具有固定大小的先进先出队列,如果已满,它将替换其最早的元素

我想这就是你想要的行为。它来自ApacheCommons集合()

ApacheCommons–CircularFifoQueue CircularFifoQueue是一个具有固定大小的先进先出队列,如果已满,它将替换其最早的元素


我想这就是你想要的行为。它来自Apache commons collections()

您正在寻找类似Fifo的东西:看看这里:这里已经给出了答案:@DA a Fifo队列已关闭,但我需要一个额外的功能,即在添加新项目时自动删除最旧的项目。有两个这样的类的链接。谢谢大家的链接。很抱歉,重复了一个问题——正如我所说的,当我不知道术语时,不容易搜索。我用最新信息更新了其他一些问题。如果您不想涉及任何第三方库,这是正确的答案。您正在寻找类似Fifo的内容:查看此处:此处已回答此问题:@DA a Fifo队列已关闭,但我需要在添加新项目时自动删除最旧项目的额外功能。有两个这样的类的链接。谢谢大家的链接。很抱歉,重复了一个问题——正如我所说的,当我不知道术语时,不容易搜索。我用最新信息更新了其他一些问题。如果您不想涉及任何第三方库,这是正确的答案。谢谢您的正确答案。使用这个类名,我发现GoogleGuavaVersion15(大约2013-10)获得了一个行为类似的(好名字!)类。请参阅文章,。感谢您的正确回答。使用这个类名,我发现GoogleGuavaVersion15(大约2013-10)获得了一个行为类似的(好名字!)类。见第条。