哈希表的數(shù)據(jù)結(jié)構(gòu)
HashMap底層數(shù)據(jù)結(jié)構(gòu)是哈希表, 也叫散列表。
哈希表就是一個(gè)數(shù)組, 數(shù)組的每個(gè)元素是一個(gè)單向鏈表。

數(shù)組就是一種順序存儲(chǔ)結(jié)構(gòu), 特點(diǎn)是可以通過數(shù)組的下標(biāo)(索引值)快速的訪問數(shù)組的每個(gè)元素, 實(shí)現(xiàn)了隨機(jī)訪問; 在向數(shù)組中插入元素/刪除元素時(shí), 可能需要擴(kuò)容,移動(dòng)/復(fù)制元素,效率比較低。

單向鏈表就是一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu), 特點(diǎn)插入/刪除時(shí),不需要移動(dòng)元素,效率比較高;在訪問元素時(shí)總是從頭結(jié)點(diǎn)逐個(gè)訪問,相對(duì)數(shù)組效率比較低。

HashMap的put(key,value)的工作原理




