進口?Java . util . hashmap;
進口?Java . util . iterator;
進口?Java . util . map . entry;
公共?班級?MapDemo?{
公共?靜電?作廢?main(String[]?args)?{
//?準備要穿越的地圖。
HashMap & lt字符串,?整數& gt?地圖?=?新的?HashMap & lt字符串,?整數& gt();
map.put("Tom ",85);
map.put("Jack ",97);
test1(地圖);
test2(地圖);
test3(地圖);
test4(地圖);
}
//?方法壹:?叠代器模式
//?特點:?效率高,速度快,但是代碼很多。
公共?靜電?作廢?test 1(HashMap & lt;字符串,?整數& gt?地圖)?{
叠代器& ltEntry & lt字符串,?整數& gt& gt?它?=?map.entrySet()。叠代器();
什麽時候?(it.hasNext())?{
Entry & lt字符串,?整數& gt?e?=?it . next();
System.out.println("name:"?+?e.getKey()?+?" \tscore:"?+?e . getvalue());
}
}
//?方法二:?map.entrySet()?For循環
//?特點:?效率更高,速度更快,寫作比第壹種方法簡單?
公共?靜電?作廢?test2(HashMap & lt;字符串,?整數& gt?地圖)?{
為了什麽?(詞條& lt字符串,?整數& gt?e?:?map.entrySet())?{
System.out.println("name:"?+?e.getKey()?+?" \tscore:"?+?e . getvalue());
}
}
//?方法三?map.keySet?For循環
//特點:效率慢
公共?靜電?作廢?test3(HashMap & lt;字符串,?整數& gt?地圖)?{
為了什麽?(字符串?鑰匙?:?map.keySet())?{
System.out.println("name:"?+?鑰匙?+?" \tscore:"?+?map . get(key));
}
}
//?方法四:?forEach?
//?特色?速度慢,但代碼少,簡潔;?(需要Java8或更高版本)
公共?靜電?作廢?test4(HashMap & lt;字符串,?整數& gt?地圖)?{
map.forEach((k,五)?-& gt;?System.out.println("name:"?+?k?+?" \tscore:"?+?v));
}
四種方法的效率比較
(test1≈test2)>(測試3≈測試4)
推薦:在數據量特別大的情況下使用方法1?:代碼很長,但效率很高。
如果數據量小,那就用方法四:代碼簡潔優雅~