Metoda hashCode () Java Object vrací hodnotu hash kódu přidruženou k objektu.
Syntaxe hashCode()
metody je:
object.hashCode()
hashCode () parametry
hashCode()
Metoda nebere žádné parametry.
hashCode () Návratové hodnoty
- vrací hodnotu hash kódu objektu
Poznámka : Hodnota hash kódu je celočíselná hodnota spojená s každým objektem. Používá se k identifikaci umístění objektů v hašovací tabulce.
Pří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
Třída je super třída pro všechny třídy v Javě. Proto může tuto třídu implementovat každá třída hashCode()
.
Příklad 2: hashCode () s 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 ) )
Ve výše uvedeném příkladu můžeme hashCode()
metodu zavolat a získat hash kód objektu String
and ArrayList
.
Je to proto, že třída String
a ArrayList
dědí Object
třídu.
Příklad 3: Hodnota hash kódu pro 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 ) )
Ve výše uvedeném příkladu vidíme, že dva objekty obj1 a obj2 generují stejnou hodnotu hash kódu.
Je to proto, že dva objekty jsou stejné. A podle oficiální dokumentace Java by dva stejné objekty měly vždy vracet stejnou hodnotu hash kódu.
Poznámka : K ověření, zda jsou dva objekty stejné, jsme použili metodu Java Object equals ().