我正在从Google Collections 0.9升级到1.0.它似乎Sets.newConcurrentHashSet()已不再可用.我在以下构造中使用它:
public static <K, V> Multimap<K, V> newConcurrentMultimap()
{
return Multimaps.newMultimap( new ConcurrentHashMap<K, Collection<V>>(), new Supplier>()
{
@Override
public Collection<V> get()
{
return Sets.<V>newConcurrentHashSet();
}
} );
}
什么是Sets.newConcurrentHashSet()的最佳替代品?
编辑:这个构造的原因是有一个可以安全地从多个线程读取和写入的多图.它用于一个主要阅读的场景(并将被阅读很多).
问候,
维姆
Sets.newConcurrentHashSet在1.0rc1(提交日志)中被撤销.我不知道退出的原因,但您可以自己使用该实现:
Sets.newSetFromMap(new ConcurrentHashMap<V, Boolean>());
Run Code Online (Sandbox Code Playgroud)