1. 程式人生 > >Java BAT大型公司面試必考技能視訊教程之HashMap原始碼分析與實現

Java BAT大型公司面試必考技能視訊教程之HashMap原始碼分析與實現

視訊通過以下四個方面介紹了HASHMAP的內容

一、 什麼是HashMap

Hash雜湊將一個任意的長度通過某種演算法(Hash函式演算法)轉換成一個固定的值。 MAP:地圖 x,y 儲存 總結:通過HASH出來的值,然後通過值定位到這個MAP,然後value儲存到這個MAP中的HASHMAP基本原理

1、 KEY 是否可以為空?可以,Null當成一個Key來儲存

2、 如果Hash KEY重複了會覆蓋嗎?會覆蓋,但返回舊的值

3、 HASHMAP什麼時候做擴容?put 的時候,閥值高於或等於0.75,2的倍數去做擴容。

二、 原始碼分析

1、 初始化引數介紹

2、 put方法解析

3、 get方法解析

4、 entry物件介紹

5、 擴容原始碼分析

三、 手寫實現

1、 定義介面MAP

2、 實現類HASHMAP

四、 不足之處

1、 伸縮性

2、 時間複雜度:HASH演算法決定了效率,擴容的時候需要HASH後放入新的entry table陣列中。