有时我会发现自己复制代码以从Map中提取键和值条目(例如,在测试/调试第三方API时)。
Map<String, String> someMap;
Set<String> keys = someMap.keySet();
for(int j=0;j<someMap.size();j++){
String key = (String) keys.toArray()[j];
System.out.println("key > " + key + " : value = " + someMap.get(key));
}
我知道Groovy对此有一些很好的抽象(例如Get key in groovy maps),但我受限于POJ。当然,必须有一种更优雅,更简洁的方式来实现这一点,我的意思是Java?
答案 0 :(得分:9)
您可以使用Entry<String,String>
并使用for-each loop进行迭代。您可以使用Map.entrySet()
获取Entry
对象。
可以使用Entry.getKey()
和Entry.getValue()
代码示例:
Map<String, String> someMap;
for (Entry<String,String> entry : someMap.entrySet()) {
System.out.println("key > " + entry.getKey()+ " : value = " + entry.getValue());
}
答案 1 :(得分:4)
您可以使用for each循环来简化代码:
Map<String, String> someMap;
for(String key : someMap.keySet()){
System.out.println("key > " + key + " : value = " + someMap.get(key));
}
或者您使用条目集执行此操作。当我还在编辑我的答案时,Amit为此提供了一些代码; - )
答案 2 :(得分:0)