hashcode()的作用

  在一般的應用中你不需要了解hashCode的用法,但當你用到HashMap,HashSet等集合類時要注意下hashCode。
     你想通過一個object的key來拿HashMap的value,HashMap的工作方法是,通過你傳入的object的hashcode在內存中找地址,當找到這個地址後再通過equals方法來比較這個地址中的內容是否和你原來放進去的一樣,一樣就取出value。

      hashCode()方法使用來提高Map裏面的搜索效率的,Map會根據不同的hashCode()來放在不同的桶裏面,Map在搜索一個對象的時候先通過hashCode()找到相應的桶,然後再根據equals()方法找到相應的對象.要正確的實現Map裏面查找元素必須滿足一下兩個條件:
(1)當obj1.equals(obj2)爲true時obj1.hashCode() == obj2.hashCode()必須爲true
(2)當obj1.hashCode() != obj2.hashCode()爲true時obj.equals(obj2)必須爲false

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