課程
/后端開發
/Java
/Map從入門到性能分析
代碼核對過跟演示的是一樣的,我這個跑了很多次,都是linkedMap耗時更長,重點是每次都是這樣的,截圖了幾張,大家幫忙看看什么問題吧
2020-06-14
源自:Map從入門到性能分析 4-1
正在回答
我在查找資料以后才明白,HashMap底層的代碼是數組+鏈表,后來成了紅黑樹,但是LinkedHashMap的底層代碼是雙向鏈表,就是說查找遍歷時候,不管數據多少,都應該是HashMap比LinkedHashMap快一些,就好比??1?<=>?2?<=>?3?<=>?4?<=>?5?<=>?6?<=>?7?<=>?8?<=>?9......這樣的雙鏈結構,找到9需要走九次,但是樹就不一樣了。
Kevin_Glaser
我是HashMap和LinkedHashMap分開寫的,HashMap的賦值取值完畢了再去運行LinkedHashMap的,但是我的賦值是LinkedHashMap快,取值反而LinkedHashMap慢了
值不要用一樣的
按演示代碼繼續,后面的取值耗時上,linkedMap耗時就短些了,
只是如上圖賦值的耗時這塊我的代碼演示的還是linkedMap耗時更久
舉報
拒絕HaspMap一條道走到黑,帶你選擇最合適的Map
1 回答感覺速度相差不大呢?甚至調成100萬1000萬測試發現反倒不如默認16的速度呢?時代進步了還是我代碼寫錯了?
1 回答HashMap實例化寫法
4 回答new HashMap(10000,0.75f) 是說hash值不碰撞的情況下吧
1 回答使用putIfAbsent時value的數據類型不能為Integer的原因
2 回答現在最新的如果發生碰撞的話 好像不光是鏈表了吧?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-09-18
我在查找資料以后才明白,HashMap底層的代碼是數組+鏈表,后來成了紅黑樹,但是LinkedHashMap的底層代碼是雙向鏈表,就是說查找遍歷時候,不管數據多少,都應該是HashMap比LinkedHashMap快一些,就好比??1?<=>?2?<=>?3?<=>?4?<=>?5?<=>?6?<=>?7?<=>?8?<=>?9......這樣的雙鏈結構,找到9需要走九次,但是樹就不一樣了。
2020-09-17
我是HashMap和LinkedHashMap分開寫的,HashMap的賦值取值完畢了再去運行LinkedHashMap的,但是我的賦值是LinkedHashMap快,取值反而LinkedHashMap慢了
2020-06-28
值不要用一樣的
2020-06-14
按演示代碼繼續,后面的取值耗時上,linkedMap耗時就短些了,
只是如上圖賦值的耗時這塊我的代碼演示的還是linkedMap耗時更久