Java 使用番石榴装饰地图,使其表现得像一组
Google Guava中是否有一个实用程序类,允许我装饰一个Java 使用番石榴装饰地图,使其表现得像一组,java,guava,Java,Guava,Google Guava中是否有一个实用程序类,允许我装饰一个地图,使其成为一个集合 HashSet使用HashMap实现,其中值始终是对象的同一实例。我想对从加载缓存返回的映射执行同样的操作: Set<K> mySet = XXX.decorate(CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build().asMap()) Set mySet=XXX.decoration(CacheBuild
地图
,使其成为一个集合
HashSet
使用HashMap
实现,其中值始终是对象的同一实例。我想对从加载缓存
返回的映射
执行同样的操作:
Set<K> mySet = XXX.decorate(CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build().asMap())
Set mySet=XXX.decoration(CacheBuilder.newBuilder().expireAfterWrite(10,TimeUnit.SECONDS.build().asMap())
为了给我一个集合
,其数据在我插入后10秒过期
番石榴有这样的课程吗?我看到了ForwardingSet
,但这只适用于另一个Set
实例。您可以使用JDK的:
Set mySet=Collections.newSetFromMap(
CacheBuilder.newBuilder()
.expireAfterWrite(10,时间单位为秒)
.build()
.asMap());
您可以使用JDK的:
Set mySet=Collections.newSetFromMap(
CacheBuilder.newBuilder()
.expireAfterWrite(10,时间单位为秒)
.build()
.asMap());
谢谢-所以它不在番石榴中的原因是因为它已经在JDK中了-这会教我先去番石榴!事实上,Guava中有这样的方法-但是它被弃用了,并且在旧的代码库中也有,因为集合在JDK1.6之前没有过(Guava过去支持JDK1.5+)。谢谢-所以它不在Guava中的原因是因为它已经在JDK中了-这将教会我先去Guava!实际上,Guava中有这样的方法——但它已经被弃用了,并且在旧的代码库中也有,因为集合在JDK1.6之前是没有的(Guava用于支持JDK1.5+)。
Set<K> mySet = Collections.newSetFromMap(
CacheBuilder.newBuilder()
.expireAfterWrite(10, TimeUnit.SECONDS)
.<K, Boolean>build()
.asMap());