2016-12-09 5 views
1

FastutilはJavaでのコレクションの中で最速のオプションのようです。fastutilsでスレッドセーフで不変なコレクションを実現するには?

は、これらのJavadocあります http://fastutil.di.unimi.it/docs/it/unimi/dsi/fastutil/longs/Long2ObjectMaps.SynchronizedMap.html

が、私は使用例を見つける難しさを持っています。

どのように同期された(スレッドセーフな)マップを作成できますか?不変のマップですか?

+1

そのクラスは '' Map''インタフェースを実装しています。あなたが必要とするのはそれだけではありませんか? – f1sh

+0

しかし、このライブラリには、long2objectなどのマップのタイプがあります。どのように私は同期これらと組み合わせる必要がありますか? –

答えて

0

各マップタイプには独自の同期ラッパークラスがあります(例:上記リンク先はLong2ObjectMaps.SynchronizedMap)。これを使用するには、具体的なマップの実装をインスタンス化し、同期されたバージョンを取得するには、対応する…Maps.synchronize()メソッドを使用します。

Long2ObjectMap<Foo> unsynched = new Long2ObjectOpenHashMap<>(); 

// this is actually a Long2ObjectMaps.SynchronizedMap 
Long2ObjectMap<Foo> synched = Long2ObjectMaps.synchronize(unsynchronized); 
関連する問題