Junior — Middle
What is the role of the hashCode method in the Object class in Java?
sobes.tech AI
Answer from AI
The hashCode() method in the Object class in Java returns an integer value (hash code) of the object, which is used for quick search and comparison of objects in data structures such as HashMap, HashSet, and other hash tables.
Main role of hashCode():
- Ensure efficient distribution of objects across buckets in hash tables.
- Together with the
equals()method, determine object equality: if two objects are equal according toequals(), theirhashCode()should be the same.
It is important to override hashCode() along with equals() to ensure the correct operation of hash-based collections.
Example of overriding:
@Override
public int hashCode() {
return Objects.hash(field1, field2);
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && Objects.equals(field2, other.field2);
}