此定义的番石榴收集地图是否存在并发版本?
ListMultimap<DuplicateKey,Integer> map =
Multimaps.newListMultimap(
Maps.<DuplicateKey, Collection<Integer>>newTreeMap(),
new Supplier<List<Integer>>() {
public List<Integer> get() {
return Lists.newArrayList();
}
});
答案 0 :(得分:2)
没有并发的多图实现,但是您可以使用Multimaps.synchronizedListMultimap
视图将其包装,该视图:
返回由指定的多图支持的同步(线程安全)多图。
在您的情况下:
ListMultimap<DuplicateKey,Integer> synchronizedMultimap =
Multimaps.synchronizedListMultimap(map);
阅读complete javadoc,了解有关同步访问视图的注意事项:
为了保证串行访问,至关重要的是,所有对支持多图的访问都必须通过返回的多图来完成。
请注意,issue #135 on Github指出,Guava本身将没有通用的并发多地图实现。