Java Object hashCode ()

Metoda Java Object hashCode () returnează valoarea codului hash asociată obiectului.

Sintaxa hashCode()metodei este:

 object.hashCode()

hashCode () Parametri

hashCode()Metoda nu ia nici un parametru.

hashCode () Valori returnate

  • returnează valoarea codului hash al obiectului

Notă : valoarea codului hash este o valoare întreagă asociată fiecărui obiect. Este folosit pentru a identifica locația obiectelor în tabelul hash.

Exemplul 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 ) )

Notă : ObjectClasa este superclasa pentru toate clasele din Java. Prin urmare, fiecare clasă poate implementa hashCode()metoda.

Exemplul 2: hashCode () cu String și 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 ) )

În exemplul de mai sus, putem apela hashCode()metoda pentru a obține codul hash al obiectului Stringși ArrayList.

Aceasta se datorează faptului că Stringși ArrayListclasa moștenesc Objectclasa.

Exemplul 3: Valoarea codului Hash pentru obiectul egal

 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 ) )

În exemplul de mai sus, putem vedea că două obiecte obj1 și obj2 generează aceeași valoare de cod hash.

Acest lucru se datorează faptului că două obiecte sunt egale. Și, conform documentației oficiale Java, două obiecte egale ar trebui să returneze întotdeauna aceeași valoare de cod hash.

Notă : Am folosit metoda Java Object equals () pentru a verifica dacă două obiecte sunt egale.

Articole interesante...