سؤال

أنا الترقية من مجموعات Google إلى 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();
         }
    } );
}

ما يمكن أن يكون أفضل بديل مجموعات.newConcurrentHashSet() ?

تحرير:والسبب في هذا البرنامج هو أن يكون multimap آمنة القراءة والكتابة من مؤشرات ترابط متعددة.وهو يستخدم في الغالب-قراءة السيناريو (و قراءة الكثير).

التحيات ،

Wim

هل كانت مفيدة؟

المحلول

Sets.newConcurrentHashSet سحبت في 1.0rc1 (ارتكاب سجل).أنا لا أعرف سبب الانسحاب ، ولكن يمكن استخدام تنفيذ نفسك:

Sets.newSetFromMap(new ConcurrentHashMap<V, Boolean>());

نصائح أخرى

وحاول استخدام MapMaker ثم استخدام newSetFromMap()

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top