ما هو البديل مجموعات.newConcurrentHashSet()?
سؤال
أنا الترقية من مجموعات 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()
لا تنتمي إلى StackOverflow