Map遍歷四種方式:
方法一. 在for-each循環(huán)中遍歷keys或values。
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
//遍歷map中的鍵
for (Integer key : map.keySet()) {
? System.out.println("Key = " + key);
}
//遍歷map中的值
for (Integer value : map.values()) {
? System.out.println("Value = " + value);
}
這種方法代碼比較簡(jiǎn)潔,效率也高點(diǎn)
方法二. 這是最常見(jiàn)的并且在大多數(shù)情況下也是最可取的遍歷方式。在鍵值都需要時(shí)使用
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
? System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
這種方法最簡(jiǎn)潔的,鍵值對(duì)都需要時(shí)候使用
方法三 使用Iterator遍歷
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
? Map.Entry<Integer, Integer> entry = entries.next();
? System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
代碼看起來(lái)比較累贅,但是遍歷的時(shí)候可以調(diào)用iterator.remove()來(lái)刪除數(shù)據(jù)。
性能方面來(lái)看:和for-each性能差不多
方法四 通過(guò)鍵找值遍歷(效率低)
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Integer key : map.keySet()) {
? Integer value = map.get(key);
? System.out.println("Key = " + key + ", Value = " + value);
這種方法效率是最低的,不建議使用
?為了讓學(xué)習(xí)變得輕松、高效,今天給大家免費(fèi)分享一套Java教學(xué)資源。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘。需要資料的歡迎加入學(xué)習(xí)交流群:9285,05736