Метод 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 (), щоб перевірити, чи рівні два об'єкти.