java - 当元素过期时具有信令功能的过期映射

标签 java data-structures collections

任何人都可以指出一个好的实现(如果存在的话),即我所说的 Java 中的 Ticking collection/Map 。集合中的元素有一定的过期时间。当集合的特定元素过期时,集合会引发某种类型的警报或调用处理程序。

我看到了一个过期映射的 Guava 实现,它会自动删除已过期的 key 。

Expiring map

最佳答案

guava 支持驱逐回调:

    Cache<String, String> cache = CacheBuilder.newBuilder()
            .expireAfterAccess(100, TimeUnit.SECONDS)
            .removalListener(new RemovalListener<Object, Object>() {
                public void onRemoval(RemovalNotification<Object, Object> objectObjectRemovalNotification) {
                    //do something
                }
            })
            .build();

关于java - 当元素过期时具有信令功能的过期映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500018/

相关文章:

java - JDatePicker Java中的日期差异

java - 列表迭代器仅返回最后一行

c# - 如何获取 ObservableCollection 中指定索引处的最后一个元素/元素

java - 缺少 android.util.Log 类文件

java - 我们如何在 hibernate 中处理并发事务

java - 查找最大并发进程数的时间间隔

java - 树的递归和非递归遍历

google-app-engine - 有什么方法可以在 Golang 中处理带有空格的 Google Datastore Kind Property 名称?

.net - 如何在不枚举的情况下将泛型词典转换为非泛型?

java - 较大值的错误结果