HashMap的四種遍歷方法性能分析

創(chuàng)建HashMap

Map<Integer, Integer> map = new HashMap<>();

通過對上面創(chuàng)建的HashMap添加大量數(shù)據(jù),進(jìn)行遍歷性能分析

1. 通過Map.keySet遍歷key和value

for (String key : map.keySet()) {  
    System.out.println("key= "+ key + " and value= " + map.get(key));  
}  

運(yùn)行時間: 25.699429秒

2. 通過Map.entrySet使用iterator遍歷key和value

Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();  
while (it.hasNext()) {  
    Map.Entry<String, String> entry = it.next();  
    System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());  
}  

運(yùn)行時間: 17.573764秒

3. 通過Map.entrySet遍歷key和value

for (Map.Entry<String, String> entry : map.entrySet()) {  
    System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());  
}  

運(yùn)行時間: 15.847494秒

4. 通過Map.values()遍歷所有的value,但不能遍歷key

for (String v : map.values()) {  
    System.out.println("value= " + v);  
} 

運(yùn)行時間: 14.639541秒

通過上面運(yùn)行時間的比較很容易得出:使用使用Map.entrySet遍歷HashMap效率最快、性能最高

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Map的四種遍歷方式 下面只是簡單介紹各種遍歷示例(以HashMap為例),各自優(yōu)劣會在本文后面進(jìn)行分析給出...
    陳煦緣閱讀 954評論 0 0
  • Java Map遍歷方式方式及性能測試 1. 闡述 對于Java中Map的遍歷方式,很多文章都推薦使用entryS...
    藝龍閱讀 1,799評論 0 3
  • 概要 這一章,我們對WeakHashMap進(jìn)行學(xué)習(xí)。 我們先對WeakHashMap有個整體認(rèn)識,然后再學(xué)習(xí)它的源...
    廢棄的root閱讀 687評論 0 0
  • Java集合類可用于存儲數(shù)量不等的對象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 2,078評論 0 13
  • 感賞自己每天堅(jiān)持修練,不斷放下,雖然外出時看到穿校服的中學(xué)生,心里還是非常難過的,心中對孩子充滿了抱歉,但并不怪罪...
    zhangxiaoyu閱讀 182評論 0 1

友情鏈接更多精彩內(nèi)容