문제

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 ()에 가장 적합한 대체물은 무엇입니까?

편집 :이 구성의 이유는 여러 스레드에서 읽고 쓸 수있는 멀티 맵을 갖추고 있기 때문입니다. 대부분 읽은 시나리오에서 사용되며 많이 읽을 것입니다.

문안 인사,

Wim

도움이 되었습니까?

해결책

Sets.newConcurrentHashSet 1.0RC1에서 철회되었습니다 (커밋 로그). 철수의 이유는 모르겠지만 사용할 수 있습니다. 구현 당신 자신:

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

다른 팁

사용하려고 노력하십시오 MapMaker 그리고 사용하십시오 newSetFromMap()

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top