Вопрос

Я обновляю Коллекции 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();
         }
    } );
}

Какая будет лучшая замена Sets.newConcurrentHashSet() ?

Редактировать:Целью этой конструкции является наличие мультиотображения, которое можно безопасно читать и записывать из нескольких потоков.Он используется в сценариях, которые в основном читают (и будут читать много).

с уважением,

Вим

Это было полезно?

Решение

Sets.newConcurrentHashSet был удален в версии 1.0rc1 (журнал фиксации).Я не знаю причину вывода средств, но вы можете использовать реализация сам:

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

Другие советы

Попробуй использовать MapMaker а затем использовать newSetFromMap()

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top