1. 程式人生 > >Java遍歷Map的四種方法

Java遍歷Map的四種方法

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