Хэш-код объекта Java ()

Метод hashCode () объекта Java возвращает значение хэш-кода, связанное с объектом.

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

 object.hashCode()

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

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

hashCode () Возвращаемые значения

  • возвращает значение хэш-кода объекта

Примечание . Значение хэш-кода - это целое число, связанное с каждым объектом. Он используется для определения местоположения объектов в хеш-таблице.

Пример 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 ) )

Примечание . 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()метод, чтобы получить хэш-код объекта Stringand 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 (), чтобы проверить, равны ли два объекта.

Интересные статьи...