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 : Object
Trieda 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 String
a ArrayList
.
Je to preto, že trieda String
a ArrayList
dedí Object
triedu.
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 ().