javahashmap原理 java為什么使用hashmap?
java為什么使用hashmap?1、存儲(chǔ)方法:Java中的HashMap以鍵值對的形式存儲(chǔ)元素。2、 調(diào)用原則:HashMap需要一個(gè)hash函數(shù),該函數(shù)使用hashcode()和equals()方
java為什么使用hashmap?
1、存儲(chǔ)方法:Java中的HashMap以鍵值對的形式存儲(chǔ)元素。2、 調(diào)用原則:HashMap需要一個(gè)hash函數(shù),該函數(shù)使用hashcode()和equals()方法向集合中添加和檢索元素。調(diào)用put()方法時(shí),HashMap計(jì)算密鑰的哈希值,并將密鑰-值對存儲(chǔ)在集合中相應(yīng)的索引中。如果鍵已存在,則該值將更新為新值。3、 其他熱點(diǎn)特性:HashMap的一些重要特性是容量、負(fù)載因子和閾值調(diào)整。
HashMap實(shí)現(xiàn)了map接口,主要為客戶提供三種數(shù)據(jù)顯示方式:只查看鍵列表;只查看值列表;或者以鍵值形式成對查看數(shù)據(jù)。map接口沒有定義如何存儲(chǔ)數(shù)據(jù),也沒有指定如何確定鍵是否相同。因此,并非所有map實(shí)現(xiàn)都與hashcode方法相關(guān)。例如,treemap要求對象實(shí)現(xiàn)comparator接口,并通過其compare方法(而不是hashcode和equals)比較兩者是否一致。同樣,如果我們自己實(shí)現(xiàn)map接口,也可以直接用數(shù)組來存儲(chǔ)數(shù)據(jù),用==來判斷鍵值是否一致,這樣仍然可以完全滿足map接口的定義。