gpt4 book ai didi

java - 使用 Guava 装饰 Map,使其表现得像 Set

转载 作者:行者123 更新时间:2023-12-01 20:52:39 31 4
gpt4 key购买 nike

Google Guava 中是否有一个实用程序类可以让我装饰 Map使其表现得像 Set

HashSet是使用 HashMap<K, Object> 实现的其中值始终是 Object 的相同实例。我想对 Map 做同样的事情从 LoadingCache 返回:

Set<K> mySet = XXX.decorate(CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build().asMap())

为了给我一个Set其数据在我插入后 10 秒就会过期。

Guava中有这样的类吗?我见过ForwardingSet但这仅适用于另一个 Set实例。

最佳答案

您可以使用JDK的 Collections#newSetFromMap(Map<K, Boolean>) :

Set<K> mySet = Collections.newSetFromMap(
CacheBuilder.newBuilder()
.expireAfterWrite(10, TimeUnit.SECONDS)
.<K, Boolean>build()
.asMap());

关于java - 使用 Guava 装饰 Map,使其表现得像 Set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42974151/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com