Map遍歷

JDK1.4中

Map map = new HashMap();
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
}


JDK1.5中,應用新特性For-Each循環

Map m = new HashMap();
for(Object o : map.keySet()){
map.get(o);
}
public static void main(String arge[]) {
Map m = new HashMap();
m.put("A", 1);
m.put("B", 2);
m.put("C", 3);
for (Object obj : m.keySet()) {
LOGGER.info("Obj:" + obj.toString() + ":m.get(obj)=" + m.get(obj));
}
}
輸出結果:A:1,B:2,C:3


返回的 set 中的每個元素都是一個 Map.Entry 類型。

private Hashtable<String, String> emails = new Hashtable<String, String>();

//方法一: 用entrySet()
Iterator it = emails.entrySet().iterator();
while(it.hasNext()){
Map.Entry m=(Map.Entry)it.next();
logger.info("email-" + m.getKey() + ":" + m.getValue());
}

// 方法二:jdk1.5支持,用entrySet()和For-Each循環()
for (Map.Entry<String, String> m : emails.entrySet()) {

logger.info("email-" + m.getKey() + ":" + m.getValue());
}

// 方法三:用keySet()
Iterator it = emails.keySet().iterator();
while (it.hasNext()){
String key;
key=(String)it.next();
logger.info("email-" + key + ":" + emails.get(key));
}

// 方法五:jdk1.5支持,用keySEt()和For-Each循環

for(Object m: emails.keySet()){
logger.info("email-" + m+ ":" + emails.get(m));
}

另外 我們可以先把hashMap 轉爲集合Collection,再迭代輸出,不過得到的對象

Map aa = new HashMap();
aa.put("tmp1", new Object()); //追加 替換用同樣的函數.
aa.remove("temp1"); //刪除
for (Iterator i = aa.values().iterator(); i.hasNext(); ) {
Object temp = i.next();
} //遍歷
發佈了49 篇原創文章 · 獲贊 1 · 訪問量 1700
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章