Java遍歷Map的四種方法
阿新 • • 發佈:2018-12-23
Map在日常開發中那是幾乎天天使用啊,放物件,放Message,放這放那的,到時候有時間了,你們一定得看原始碼,到時候給寫出來。
Map遍歷四種方式:
方法一. 在for-each迴圈中遍歷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);
}
這種方法程式碼比較簡潔,效率也高點
方法二. 這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用
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());
}
這種方法最簡潔的,鍵值對都需要時候使用
方法三 使用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());
}
程式碼看起來比較累贅,但是遍歷的時候可以呼叫iterator.remove()來刪除資料。
效能方面來看:和for-each效能差不多
方法四 通過鍵找值遍歷(效率低)
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);
這種方法效率是最低的,不建議使用
總結:
a).一遍遍歷的時候如果啊,如果key-value都需要使用的話,就是用方法一
文章來源網路,版權歸作者本人所有,如侵犯到原作者權益,請與我們聯絡刪除或授權事宜
如果有誤,請聯絡作者更改,謝謝,本人微信:void666666