HashCode voor Java-objecten ()

De Java Object hashCode () - methode retourneert de hashcodewaarde die aan het object is gekoppeld.

De syntaxis van de hashCode()methode is:

 object.hashCode()

hashCode () Parameters

De hashCode()methode heeft geen parameters.

hashCode () Retourwaarden

  • geeft de hashcode-waarde van het object terug

Opmerking : de hashcodewaarde is een geheel getal dat aan elk object is gekoppeld. Het wordt gebruikt om de locatie van objecten in de hashtabel te identificeren.

Voorbeeld 1: Java-object hashCode ()

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); System.out.println(obj1.hashCode()); // 1785210046 Object obj2 = new Object(); System.out.println(obj2.hashCode()); // 1552787810 Object obj3 = new Object(); System.out.println(obj3.hashCode()); // 1361960727 ) )

Opmerking : de Objectklasse is de superklasse voor alle klassen in Java. Daarom kan elke klasse de hashCode()methode implementeren .

Voorbeeld 2: hashCode () met String en ArrayList

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // hashCode() with String String str = new String(); System.out.println(str.hashCode()); // 0 ArrayList list = new ArrayList(); System.out.println(list.hashCode()); // 1 ) )

In het bovenstaande voorbeeld kunnen we de hashCode()methode aanroepen om de hash-code van het Stringen ArrayListobject op te halen.

Het is omdat de Stringen ArrayListklasse de Objectklasse erven .

Voorbeeld 3: Hashcodewaarde voor is gelijk aan object

 class Main ( public static void main(String() args) ( // hashCode() with Object Object obj1 = new Object(); // assign obj1 to obj2 Object obj2 = obj1; // check if two objects are equal System.out.println(obj1.equals(obj2)); // true // get hashcode of obj1 and obj2 System.out.println(obj1.hashCode()); // 1785210046 System.out.println(obj2.hashCode()); // 1785210046 ) )

In het bovenstaande voorbeeld kunnen we zien dat twee objecten obj1 en obj2 dezelfde hashcodewaarde genereren.

Het is omdat twee objecten gelijk zijn. En volgens de officiële Java-documentatie moeten twee gelijke objecten altijd dezelfde hashcode-waarde retourneren.

Opmerking : we hebben de Java Object equals () - methode gebruikt om te controleren of twee objecten gelijk zijn.

Interessante artikelen...