Map集合幾種遍歷方式的性能比較


首先構造一個 HashMap 集合:

1 HashMap<String,Object> map = new HashMap<>();
2 map.put("A","1");
3 map.put("B","2");
4 map.put("C","3");

  ①、分別獲取 key 集合和 value 集合。

 
1 //1、分別獲取key和value的集合
2 for(String key : map.keySet()){
3     System.out.println(key);
4 }
5 for(Object value : map.values()){
6     System.out.println(value);
7 }

  ②、獲取 key 集合,然后遍歷key集合,根據key分別得到相應value

1 //2、獲取key集合,然后遍歷key,根據key得到 value
2 Set<String> keySet = map.keySet();
3 for(String str : keySet){
4     System.out.println(str+"-"+map.get(str));
5 }

  ③、得到 Entry 集合,然后遍歷 Entry

1 //3、得到 Entry 集合,然后遍歷 Entry
2 Set<Map.Entry<String,Object>> entrySet = map.entrySet();
3 for(Map.Entry<String,Object> entry : entrySet){
4     System.out.println(entry.getKey()+"-"+entry.getValue());
5 }

  ④、迭代

1 //4、迭代
2 Iterator<Map.Entry<String,Object>> iterator = map.entrySet().iterator();
3 while(iterator.hasNext()){
4     Map.Entry<String,Object> mapEntry = iterator.next();
5     System.out.println(mapEntry.getKey()+"-"+mapEntry.getValue());
6 }

  

 

       基本上使用第三種方法是性能最好的,

  第一種遍歷方法在我們只需要 key 集合或者只需要 value 集合時使用;

  第二種方法效率很低,不推薦使用;

  第四種方法效率也挺好,關鍵是在遍歷的過程中我們可以對集合中的元素進行刪除。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM