使用Guava装饰Map以表现得像Set

时间:2017-03-23 11:01:19

标签: java guava

Google Guava中是否有一个实用程序类允许我装饰df['col3'] = df[['col2', 'y0', 'y1']].apply(lambda x: x[int(x[0][1]) + 1], axis=1) 以使其像Map那样执行?

Set是使用HashSet实现的,其中值始终是HashMap<K, Object>的相同实例。我想对从Object返回的Map执行相同的操作:

LoadingCache

为了给我一个Set<K> mySet = XXX.decorate(CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.SECONDS).build().asMap()) ,我的数据在插入后10秒就会过期。

番石榴中是否有这样的课程?我见过Set,但只适用于另一个ForwardingSet实例。

1 个答案:

答案 0 :(得分:3)

您可以使用JDK&#39; Collections#newSetFromMap(Map<K, Boolean>)

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