【发布时间】:2014-03-08 22:24:36
【问题描述】:
我需要一个简单的缓存机制。
我想保留最近添加的 100 个最新项目,但不超过该限制。当我添加另一个项目时,我希望集合自动删除第 101 个项目。想象一下将 LifeSaver 糖果推过管子——当我在管子的一端添加另一颗糖果时,另一端会掉出另一颗糖果。
自己写会很简单。我的“添加”方法会在执行“添加”之前首先删除最旧的项目。我只是想知道是否已经写了这样的类。
我查看了捆绑的 Collection 类、List、Queue 等。我也看了Google Guava。但似乎没有一个有这个简单的功能。
这对谷歌来说是一个困难的话题,因为我不知道这种行为的行话。
【问题讨论】:
-
您正在寻找类似 Fifo 的东西:stackoverflow.com/questions/9580457/fifo-class-in-java
-
@DA FIFO 队列已关闭,但我需要在添加新项目时自动删除最旧项目的额外功能。 correct answer 有两个这样的类的链接。感谢大家的链接。很抱歉有一个重复的问题——正如我所说,当我不知道这些术语时,不容易搜索。我确实用当前信息更新了其他一些问题。
-
如果您不想涉及任何第三方库,stackoverflow.com/a/1963881/1953590 是正确答案。
标签: java collections