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ă : Object
Clasa 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 ArrayList
clasa moștenesc Object
clasa.
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.