vue取通过key取value_如何通过获取map中的key来获得与key对应的value值,进行运算...
展開全部
獲取map的key和value的方法分為以下62616964757a686964616fe4b893e5b19e31333366306439兩種形式:
1、map.keySet():先獲取map的key,然后根據key獲取對應的value;
2、map.entrySet():同時查詢map的key和value,只需要查詢一次;
注意:當map的value值相等時,根據key值進行排序
很多人都推薦使用entrySet,認為其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,針對每個key,都要去Map中額外查找一次value,從而降低了總體效率。
兩種方法對比測試如下:
HashMap測試數據:
TreeMap測試數據:
擴展資料:
map.keySet()和map.EntrySet()的比較:
一、如果使用HashMap
1、同時遍歷key和value時,keySet與entrySet方法的性能差異取決于key的具體情況,如復雜度(復雜對象)、離散度、沖突率等。換言之,取決于HashMap查找value的開銷。
entrySet一次性取出所有key和value的操作是有性能開銷的,當這個損失小于HashMap查找value的開銷時,entrySet的性能優勢就會體現出來。
在比測試中,當key是最簡單的數值字符串時,keySet可能反而會更高效,耗時比entrySet少10%。總體來說還是推薦使用entrySet。
因為當key很簡單時,其性能或許會略低于keySet,但卻是可控的;而隨著key的復雜化,entrySet的優勢將會明顯體現出來。當然,我們可以根據實際情況進行選擇
2、只遍歷key時,keySet方法更為合適,因為entrySet將無用的value也給取出來了,浪費了性能和空間。在上述測試結果中,keySet比entrySet方法耗時少23%。
3、只遍歷value時,使用vlaues方法是最佳選擇,entrySet會略好于keySet方法。
二、如果使用TreeMap
1、同時遍歷key和value時,與HashMap不同,entrySet的性能遠遠高于keySet。這是由TreeMap的查詢效率決定的,也就是說,TreeMap查找value的開銷較大,明顯高于entrySet一次性取出所有key和value的開銷。因此,遍歷TreeMap時強烈推薦使用entrySet方法。
2、只遍歷key時,keySet方法更為合適,因為entrySet將無用的value也給取出來了,浪費了性能和空間。在上述測試結果中,keySet比entrySet方法耗時少24%。
3、只遍歷value時,使用vlaues方法是最佳選擇,entrySet也明顯優于keySet方法。
參考資料:
總結
以上是生活随笔為你收集整理的vue取通过key取value_如何通过获取map中的key来获得与key对应的value值,进行运算...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 域内计算机如何同步网络t时间,网络节点的
- 下一篇: vue 手机端路由切换滑动_vue移动端