Java hashmap只迭代某些键

时间:2015-10-08 20:58:31

标签: java hashmap yaml

当我进入第二个循环时,我正在寻找一种获取特定键值的方法。我正在使用snakeyaml并将其加载到Map。我的yaml看起来像这样:

number:
  id: status.number
  label: Number
contactType:
  id: status.contact_type
  label: Contact Type

我尝试做的只是获取id的密钥和值。它可能非常明显,但我还没有找到办法。

Map<String, Map<String, String>> a = (Map<String, Map<String, String>>) yaml.load(input);

for (Map.Entry<String, Map<String, String>> t : a.entrySet()) {
    String key = t.getKey();

    for (Map.Entry<String, String> e : t.getValue().entrySet()) {
       System.out.println("OuterKey: " + key + " InnerKey: " + e.getKey() + " VALUE:" + e.getValue());
    }
}

1 个答案:

答案 0 :(得分:0)

要获取&#34;内部键&#34;的值,您不需要遍历每个内部地图。

在下面的示例中,我假设您已经拥有一个包含所需内键的innerKey变量。

Map<String, Map<String, String>> a = (Map<String, Map<String, String>>) yaml.load(input);

for (Map.Entry<String, Map<String, String>> t : a.entrySet()) {
    String outerKey = t.getKey();
    String innerValue = t.getValue().get(innerKey);
    System.out.println("OuterKey: " + outerKey + " InnerKey: " + innerKey + " VALUE:" + innerValue);
}