有時我發現自己複製代碼以從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