更新時間:2020-08-18 16:33:07 來源:動力節點 瀏覽2273次
JDK8之前,可以使用keySet或者entrySet來遍歷HashMap,JDK8中引入了map.foreach來進行遍歷。
原因:
keySet其實是遍歷了2次,一次是轉為Iterator對象,另一次是從hashMap中取出key所對應的value。而entrySet只是遍歷了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。
1. keySet和entrySet
(1)基本用法
keySet:
entrySet:
其實這里已經很明顯了,當要得到某個value時,keySet還需要從HashMap中get,entrySet相比keySet少了遍歷table的過程,這也是兩者性能上的主要差別。
2. Map.foreach
在JDK8以后,引入了Map.foreach。
Map.foreach本質仍然是entrySet
配合lambda表達式一起使用,操作起來更加方便。
(1)使用Java8的foreach+lambda表達式遍歷Map
以上就是動力節點java培訓機構的小編針對“JavaHashMap遍歷方式性能探討”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習