hashcode的作用:
hasecode 目的是存在散列表中。
以hashset爲例,hashcode 是作爲一個指針存在 爲key -value的value 確定是否存在和位置index,hasecode本身也是一個int值,當新數據插入hashset散列表的時候。首先會判斷hashcode值如果當前value值hashcode一致在進行equals方法調用。這樣做的目的是減少equals方法的調用次數。提高新值插入效率。
以上方式如果調用的equals方法後說明ashcode值相同的情況,所以hashcode方法也需要重寫一次(調用一次)。
對比分析
1、兩個對象hashcode值相同不一定相等。
2、兩個對象相等hashcode值一定相同。
3、兩個對象相等equles方法返回true
hashcode作用是對象在對象在堆內存地址的特定指向值。判斷對象相等先判斷的肯定是hashcode值 ,hahcode值相等了才判斷堆內存對象值。所以只要調用equles方法(重寫了equles方法)必現重寫hashcode方法。提高效率。