4

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<Collection<V>>()
    {
        @Override
        public Collection<V> get()
        {
             return Sets.<V>newConcurrentHashSet();
         }
    } );
}

Sets.newConcurrentHashSet() の最良の代替品は何ですか?

編集: この構成の理由は、複数のスレッドから安全に読み書きできるマルチマップを持つことです。これは、主に読み取りのシナリオで使用されます (そして、多くの読み取りが行われます)。

4

3 に答える 3

9

Sets.newConcurrentHashSet1.0rc1 で廃止されました ( commit log )。撤回の理由はわかりませんが、実装を自分で使用できます。

Sets.newSetFromMap(new ConcurrentHashMap<V, Boolean>());
于 2010-01-13T12:51:49.843 に答える
1

使ってみてからMapMaker使うnewSetFromMap()

于 2010-01-13T15:13:49.743 に答える