Objektový hashCode Java ()

Metóda Java Object hashCode () vracia hodnotu hash kódu spojenú s objektom.

Syntax hashCode()metódy je:

 object.hashCode()

parametre hashCode ()

hashCode()Metóda neberie žiadne parametre.

hashCode () Návratové hodnoty

  • vráti hodnotu hash kódu objektu

Poznámka : Hodnota hash kódu je celočíselná hodnota spojená s každým objektom. Používa sa na identifikáciu umiestnenia objektov v hashovacej tabuľke.

Príklad 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 ) )

Poznámka : ObjectTrieda je super triedou pre všetky triedy v prostredí Java. Túto hashCode()metódu teda môže implementovať každá trieda .

Príklad 2: hashCode () s reťazcami String a 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 ) )

Vo vyššie uvedenom príklade môžeme hashCode()metódu zavolať a získať hašovací kód objektu Stringa ArrayList.

Je to preto, že trieda Stringa ArrayListdedí Objecttriedu.

Príklad 3: Hodnota hashovacieho kódu pre objekt Equals

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

Vo vyššie uvedenom príklade vidíme, že dva objekty obj1 a obj2 generujú rovnakú hodnotu hash kódu.

Je to preto, lebo dva objekty sú si rovné. A podľa oficiálnej dokumentácie Java by dva rovnaké objekty mali vždy vracať rovnakú hodnotu hash kódu.

Poznámka : Na kontrolu, či sú dva objekty rovnaké, sme použili metódu Java Object equals ().

Zaujímavé články...