从地图中获取密钥及其特定值

时间:2012-11-25 11:06:15

标签: java map set

我使用Map如下

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

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

我想使用get值如下

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

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

1 个答案:

答案 0 :(得分:5)

如果您想使用每对propMap.entrySet()Map.Entry,您可以使用key, value方法返回key value: -

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));
}

来自this post的答案: -

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