I know that whenever you override `equals` method you should also override `hashCode` method .

But what Im not sure is, how does **JDK** uses it? 

For example `HashSet`/`HashMap` are set/map implementation using hash table, So is correct to say that this table use the object's hash\_code as key for their hash\_function?