ConcurrentHashMap包含地图对象

时间:2018-02-18 15:38:24

标签: java dictionary concurrenthashmap

如果ConcurrentHashMap包含Map,那么内部值映射是否也表现为并发? 以下是我的地图对象

ConcurrentHashMap<String, Map<String, Map<String, String>>> applicationDataMap = 
    new ConcurrentHashMap<>();

2 个答案:

答案 0 :(得分:1)

此处的变量声明仅使用Map接口。您可以向此添加任何Map,无论是否并发。如果您要求所有包含的映射都是并发的,则必须将它们声明为:

ConcurrentHashMap<String, ConcurrentHashMap<String, ConcurrentHashMap<String, String>>> applicationDataMap = new ConcurrentHashMap<>();

答案 1 :(得分:1)

您可以在Map中添加任何类型的applicationDataMap

E.g:

Map<String, String> innerInnerMap = new TreeMap<>();
Map<String, Map<String, String>> innerMap = new HashMap<>();
innerMap.put("innerKey", innerInnerMap);
applicationDataMap.put("key", innerMap);

没有什么可以保护这些内部地图不被多个线程同时访问。如果你想确保它们的有效性,你必须明确地处理它。