有时我发现自己复制代码以从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中我的意思是肯定必须有一个更优雅和更不详细的方式来做到这一点?
这个解决方案确实比原来更优雅,但是请注意,对于迭代键和值 - 通常它是不需要迭代键的,然后得到该值使用get()方法 - 由于额外查找的性能开销。当你遍历'Entry'集合时,它预计会执行得更快。 – amit 2012-07-18 08:31:34
阅读http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.Entry.html后,我必须同意Amit。但出于实施目的,这是我的优先答案。多谢你们 – raven 2012-07-18 08:37:56