java Map遍歷最優
綜合就幾句程式碼
- 同時遍歷key和value時,keySet與entrySet方法的效能差異取決於key的具體情況,如複雜度(複雜物件)、離散度、衝突率等。換言之,取決於HashMap查詢value的開銷。entrySet一次性取出所有 key和value的操作是有效能開銷的,當這個損失小於HashMap查詢value的開銷時,entrySet的效能優勢就會體現出來。例如上述對比測試中,當key是最簡單的數值字串時,keySet可能反而會更高效,耗時比entrySet少10%。總體來說還是推薦使用entrySet。因為當key很簡單時,其效能或許會略低於keySet,但卻是可控的;而隨著key的複雜化,entrySet的優勢將會明顯體現出來。當然,我們可以根據實際情況進行選擇
- 只遍歷key時,keySet方法更為合適,因為entrySet將無用的value也給取出來了,浪費了效能和空間。在上述測試結果中,keySet比entrySet方法耗時少23%。
- 只遍歷value時,使用vlaues方法是最佳選擇,entrySet會略好於keySet方法。
// 取鍵值
for(String key : map.keySet()) {
value = map.get(key);
}
// 取鍵值
for(Map.Entry<String, String> entry: map.entrySet()) {
key = entry.getKey();
value = entry.getValue();
}
// 取值
for (String value : map.values()) {
}
相關文章
- java list最優遍歷Java
- java Map Set遍歷Java
- Java中Map的遍歷方法Java
- Java遍歷Map集合的方法Java
- js的map遍歷和array遍歷JS
- Java遍歷Map物件的四種方式Java物件
- java中遍歷map的集中方法Java
- java中遍歷Map的4種方法Java
- vue遍歷map物件Vue物件
- 【Java中遍歷Map物件的4種方法】Java物件
- java 遍歷map 方法 集合 五種的方法Java
- Java Map遍歷方式方式及效能測試Java
- 26_map遍歷.goGo
- Java map 詳解 - 用法、遍歷、排序、常用API等Java排序API
- Java中如何遍歷Map物件的4種方法Java物件
- 集合框架-Map集合的遍歷框架
- 如何遍歷Map中的物件物件
- map遍歷知識總結
- jquery遍歷得到的 Map 資料,jQuery
- Java中遍歷Map的兩種方法:keySet和entrySetJava
- 關於Map集合的遍歷總結
- js技巧用Map集合代替Array遍歷JS
- List,Map在遍歷的時候removeREM
- Java遍歷PropertiesJava
- js實現深度優先遍歷和廣度優先遍歷JS
- 影片直播系統原始碼,java中Map遍歷的三種方式原始碼Java
- Go語言小知識之map遍歷Go
- 寬度優先遍歷
- 二叉樹的深度優先遍歷和廣度優先遍歷二叉樹
- ES6 map()遍歷、filter()篩選--隨記Filter
- 深度優先遍歷,廣度優先遍歷實現物件的深拷貝物件
- [JAVA] xml遍歷輸出JavaXML
- Python字典的遍歷,包括key遍歷/value遍歷/item遍歷/Python
- 遍歷陣列的常用方法forEach,filter,map等陣列Filter
- HashMap原始碼:聊聊Map的遍歷效能問題(一)HashMap原始碼
- 廣度優先遍歷圖解圖解
- jQuery程式碼優化:遍歷篇jQuery優化
- java陣列遍歷的方法Java陣列