Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In Java, every object has an equals and a hashCode method that is used, among ot

ID: 3878077 • Letter: I

Question

In Java, every object has an equals and a hashCode method that is used, among other things, by the standard Collections library. By default both are based on an object’s memory location, but best practice dictates that they should be overridden to be dependent on the object’s state. The rule that should be followed when doing this is: if two objects are equal, then they should have the same hash code value. Which of the following situations would be permissible and which would not under this rule? Provide a brief justification for each.

(a) Two objects have the same hash code and are equal (b) Two objects are equal but have different hash codes

(c) Two objects have the same hash code but are not equal (d) Two objects have different hash codes and are not equal

(please give every explanation for each one, do not just give an option)

Explanation / Answer

(a)PERMISSIBLE

in java if the objects are same then they must have the same value of hash functions as their input elements for hashing are same.

(b)NOT PERMISSIBLE

if two objects are equal then they must have the same hashcode

(c) PERMISSIBLE

It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results

It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results

(d)PERMISSIBLE

it is obvious that different objects are allowed to have a different hash code, it is the basic property of hashcode.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote