天天看點

JDK8 HashMap如何實作?

根據 ​​Java7 HashMap 的介紹​​,我們知道,查找的時候,根據 hash 值我們能夠快速定位到數組的具體下标,但是之後的話,需要順着連結清單一個個比較下去才能找到我們需要的,時間複雜度取決于連結清單的長度,為 O(n)。

為了降低這部分的開銷,在 Java8 中,當連結清單中的元素達到了 8 個時,會将連結清單轉換為紅黑樹,在這些位置進行查找的時候可以降低時間複雜度為 O(logN)。

繼續閱讀