1

我正在使用 Map 如下

Map<String, String> propMap = new LinkedHashMap<String, String>();

我看到我可以使用两种方法keySet()(获取键列表)和值来获取值列表,但我的问题是如何在它们之间建立关联,例如 key1 的值为 2。

我想使用如下获取值

    Map<String, String> propMap2 = propterm.getPropMap();
    Set<String> keySet = propMap2.keySet();

但我如何将它与他各自的价值联系起来?

4

1 回答 1

5

如果您想使用每一对and ,您可以使用propMap.entrySet()返回 a Map.Entryof 的方法:-key, valuekeyvalue

for (Map.Entry<String, String> entry: propMap.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

或者,如果您想知道如何使用 来执行此操作propMap.keySet(),您可以遍历Set<Key>获得的 ,并为每个键使用propMap.get(key),以获取特定键的值:-

Set<String> keySet = propMap2.keySet();

for (String key: keySet) {
    System.out.println(propMap.get(key));
}

这篇文章的答案: -

使用后一种方法,如果您定期访问该key-value对,则对于每个键,map.get()都会调用该方法,在 a 的情况下,该方法需要评估对象HashMaphashCode()equals()方法key以找到关联的值*。在第一种情况下(entrySet),消除了额外的工作。

于 2012-11-25T11:07:42.243 回答