千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java
2023-07-21 21:51 作者:bili_77059917832 | 我要投稿

HashMap知識(shí)點(diǎn):
HashMap是一個(gè)雙列集合,它與像list、set之類的單例集合有著很大的區(qū)別;
HashMap 是一個(gè)散列表,它存儲(chǔ)的內(nèi)容是鍵值對(duì)(key-value)映射。
HashMap 實(shí)現(xiàn)了 Map 接口,根據(jù)鍵的 HashCode 值存儲(chǔ)數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為 null,不支持線程同步是線程不安全的。
HashMap 是無序的,即不會(huì)記錄插入的順序。
HashMap 繼承于AbstractMap,實(shí)現(xiàn)了 Map、Cloneable、java.io.Serializable 接口。
HashMap 的 key 與 value 類型可以相同也可以不同,可以是字符串(String)類型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)類型的 value。
既是引用數(shù)據(jù)類型,基礎(chǔ)數(shù)據(jù)類型不滿足泛型
HashMap的底層數(shù)據(jù)類型在JDK1.8改為了數(shù)組+單向鏈表/紅黑樹的結(jié)構(gòu),由于鏈表的查詢效率低下,因此引入了紅黑樹的數(shù)據(jù)結(jié)構(gòu),目的是增加查詢的效率,當(dāng)數(shù)組長度達(dá)到64,鏈表長度到達(dá)8時(shí),單向鏈表就會(huì)轉(zhuǎn)為紅黑樹。
標(biāo)簽: