HashCode和HashSet

hashCode在hashSet中有做用,由於hashset存放對象。使用hash算法,所謂的hash算法就是將hashSet分爲區域,而後根據hashCode的值來比較,若是有相同的就不繼續存入。每一個對象的hashCode是不同的。通常不重寫對象的equal方法的話,不一樣的對象都會存放進hashSet。若是重寫了equal方法,通常也要重寫hasCode方法,若是一個對象重寫了hashCode()方法,那麼兩個都相同屬性的對象存放hashSet的時候,第二個對象就不會存放進入。對於重寫了equals()和hashCode()的對象,爲了不內存泄漏,咱們不能夠改變hashCode()中使用到的屬性的值。算法

相關文章
相關標籤/搜索