相关疑难解决方法(0)

为什么ConcurrentHashMap没有ConcurrentHashSet

HashSet基于HashMap.

如果我们看一下HashSet<E>实现,一切都在管理之下HashMap<E,Object>.

<E>被用作关键词HashMap.

我们知道这HashMap不是线程安全的.这就是我们ConcurrentHashMap在Java中的原因.

基于此,我很困惑,为什么我们没有一个应该基于的ConcurrentHashSet ConcurrentHashMap

还有什么我想念的吗?我需要Set在多线程环境中使用.

另外,如果我想创建我自己的ConcurrentHashSet,我可以通过替换HashMapto来实现它,ConcurrentHashMap并将其余部分保留原样?

java collections concurrency hashmap hashset

496
推荐指数
8
解决办法
20万
查看次数

Java Collection实现了元素的超时

是否有一些集合实现支持元素到期.

例如:

Collection<User> cachedUsers = new ExpirableList<User>(10000);
Run Code Online (Sandbox Code Playgroud)

哪里

public ExpirableList(final long timeout){...}
Run Code Online (Sandbox Code Playgroud)

在给定时间之后(10000ms在此特定示例中),将从集合中移除添加的元素.通过使用它,我们将防止我们的cachedUsers集合溢出.

java collections

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

collections ×2

java ×2

concurrency ×1

hashmap ×1

hashset ×1