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

1 java map set

我使用Map如下

Map<String, String> propMap = new LinkedHashMap<String, String>();
Run Code Online (Sandbox Code Playgroud)

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

我想用get值如下

    Map<String, String> propMap2 = propterm.getPropMap();
    Set<String> keySet = propMap2.keySet();
Run Code Online (Sandbox Code Playgroud)

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

Roh*_*ain 5

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

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

或者,如果你想知道如何使用propMap.keySet(),你可以迭代Set<Key>你获得,并为每个键,使用propMap.get(key),以获得特定键的值: -

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

for (String key: keySet) {
    System.out.println(propMap.get(key));
}
Run Code Online (Sandbox Code Playgroud)

这篇文章的答案: -

对于后一种方法,如果您经常访问该key-value对,则对于每个键,map.get()调用该方法,在 - 的情况下,HashMap要求评估对象的hashCode()equals()方法key以便找到关联的值*.在第一种情况下(entrySet),消除了额外的工作.