hashCode原理淺議

hashCode()用來產生”散列碼“。在hashSet和hashMap中,當添加和查找一個對象時,首先由hashCode()產生一個“散列碼”,它是一個int型數值,通過該索引找到數組中的對應值,而數組中存儲的又是外部列表的應用,找到“散列碼”對應的列表後就可以將一個對象插入該表,或在該表中找到被搜索的對象。故通過“散列碼”,可以使一個有限的數組容納給多的對象,同時由於數組中的每一項對應的是一個外部列表的引用,而具有相同“散列碼”的對象並不多,故每個列表中對象並不多,這樣在搜索對象時可大大提高效率。

 

hashSet和hashMap要求元素具有唯一性,故存儲自定義的對象時要重寫equal()方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章