循环遍历ConcurrentHashMaps的ConcurrentHashMap

时间:2013-12-02 08:52:27

标签: java loops nested concurrenthashmap

我最初使用

构建了一系列嵌套ConcurrentHashMap
private final ConcurrentHashMap<String, Object> allInOne = 
    new ConcurrentHashMap<String, Object>()

随后

ConcurrentHashMap<String, Object> accountMap = 
    (ConcurrentHashMap<String, Object>)allInOne.get(account);
accountMap.put("subAccounts", new ConcurrentHashMap<String, Object>());
ConcurrentHashMap<String, Object> subAccountMap = 
    (ConcurrentHashMap<String, Object>)accountMap.get(subAccount);
subAccountMap.put("subAccountData", new ConcurrentHashMap<String, Object>());

我想循环浏览subAccountMap,因此我可以从subAccountData获取特定值。

我已经尝试了来自documentation的所有返回的EnumerationSet,但是我无法使其工作,因为我仍然不熟悉Java想办法。请告诉我如何。

(我知道我正在做的是不好的做法,因为许多伟大的堆叠器向我展示了herehere,但我想要做的就是快速获得一个正常工作的原型并清理干净完成后的代码)

1 个答案:

答案 0 :(得分:1)

你的意思是这样的吗?

ConcurrentMap subAccounts = allInOne.get(account).get("subaccounts");
for (String key : subAccounts.keySet()) {
    Object subAccountObject = subAccounts.get(key);
}