HashMap原始碼系列

2021-10-02 16:42:31 字數 298 閱讀 8957

為了提高自己的**水平和除錯水平(主要還是面試會問(想哭)) 逼著自己看了主要集合框架的原始碼 這裡主要是hashmap

當然整個過程也是辛苦的 我們都知道集合的本質是資料結構 博主為了看懂它真的是下足了功夫

我的方法是

測試特殊的例子 idea的debug很強大 可以通過它看看**是否會根據自己所想的那樣執行

然後跟著除錯一步一步走直到發現矛盾的地方

以下純粹為個人的見解 錯誤再所難免 希望積極指出

看懂原始碼 主要還是站在設計者的角度去思考

帶著問題去看 如果叫我設計 我會怎麼寫

HashMap原始碼系列 HashMap的屬性

public class hashmap extends abstractmap implements map,cloneable,serializable容載因子 容載因子越大,table陣列中儲存的資料越密集,碰撞的可能性就越大。容載因子越小,儲存越稀疏,碰撞的可能性就越小,不過浪費儲存空間。轉...

JDK原始碼分析系列 HashMap 1 8

預設的初始化容量,必須是2的n次冪 static final int default initial capacity 1 4 aka 16 最大的容量是2的30次冪 static final int maximum capacity 1 30 預設的負載因子 static final float ...

HashMap原始碼解讀

一 建立乙個hashmap都做了哪些工作?mapmap new hashmap hahmap無參構造方法 public hashmap 可以看到設定了載入因子 預設0.75 閾值 預設容量16 預設載入因子0.75 12 table是hashmap內部資料儲存結構entry陣列。當hashmap的s...