簡體   English   中英

Sets.newConcurrentHashSet() 的替代品是什么?

[英]What is the replacement for Sets.newConcurrentHashSet()?

我正在從 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>());

嘗試使用MapMaker ,然后使用newSetFromMap()

您可以使用

Collections.newSetFromMap(new ConcurrentHashMap<>());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM