我使用Map如下
Map<String, String> propMap = new LinkedHashMap<String, String>();
我看到有两种方法可以使用keySet()
(获取密钥列表)
和值来获取值列表,但我的问题是如何在它们之间建立关联
例如,对于key1,值为2。
我想使用get值如下
Map<String, String> propMap2 = propterm.getPropMap();
Set<String> keySet = propMap2.keySet();
但我如何将其与各自的价值联系起来?
答案 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)
中,消除了额外的工作。