Fastutil似乎是Java集合中最快的选项。

有以下javadocs:
http://fastutil.di.unimi.it/docs/it/unimi/dsi/fastutil/longs/Long2ObjectMaps.SynchronizedMap.html

但是我很难找到用法示例。

如何获得同步的(线程安全的?)映射?一成不变的地图?

最佳答案

每种地图类型都有自己的同步包装器类(例如,上面链接的Long2ObjectMaps.SynchronizedMap)。要使用它,请实例化一个具体的地图实现,然后使用相应的…Maps.synchronize()方法获取同步版本:

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

// this is actually a Long2ObjectMaps.SynchronizedMap
Long2ObjectMap<Foo> synched = Long2ObjectMaps.synchronize(unsynchronized);

关于java - 如何在fastutils中实现线程安全或不可变的集合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41067594/

10-12 17:18