Хеш-код об'єкта Java ()

Метод Java Object hashCode () повертає значення хеш-коду, пов'язане з об'єктом.

Синтаксис hashCode()методу:

 object.hashCode()

Параметри hashCode ()

hashCode()Метод не приймає ніяких параметрів.

Повертаються значення hashCode ()

  • повертає значення хеш-коду об'єкта

Примітка : Значення хеш-коду - це ціле значення, пов’язане з кожним об’єктом. Він використовується для визначення місця розташування об’єктів у хеш-таблиці.

Приклад 1: Java-об'єкт 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 ) )

Примітка : ObjectКлас є суперкласом для всіх класів Java. Отже, кожен клас може реалізувати hashCode()метод.

Приклад 2: hashCode () із String та 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 ) )

У наведеному вище прикладі ми можемо викликати hashCode()метод, щоб отримати хеш-код об'єкта Stringі ArrayList.

Це тому, що Stringі ArrayListклас успадковує Objectклас.

Приклад 3: Значення хеш-коду для об’єкта 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 ) )

У наведеному вище прикладі ми бачимо, що два об’єкти obj1 та obj2 генерують однакове значення хеш-коду.

Це тому, що два об’єкти рівні. І, згідно з офіційною документацією Java, два рівні об’єкти повинні завжди повертати одне і те ж значення хеш-коду.

Примітка : Ми використовували метод Java Object equals (), щоб перевірити, чи рівні два об'єкти.

Цікаві статті...