Objekt Java hashCode ()

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 : ObjectTří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 Stringand ArrayList.

Je to proto, že třída Stringa ArrayListdědí Objecttří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 ().

Zajímavé články...