Встречается на собеседованиях • сегодня

Как устроен hashCode

Хэш-код в Java — это целое число, возвращаемое методом hashCode(), используемое для быстрого сравнения объектов в коллекциях, таких как HashMap или HashSet.

Основные принципы:

  1. Консистентность: Если объект не изменялся, hashCode() должен возвращать одно и то же значение.
  2. Равенство объектов: Если a.equals(b) == true, то a.hashCode() == b.hashCode() (обратное не обязательно).
  3. Эффективность: Хэш-функция должна равномерно распределять значения.

Пример:

java
@Override
public int hashCode() {
    int prime = 31;
    int result = 1;
    result = prime * result + (field1 == null ? 0 : field1.hashCode());
    result = prime * result + (field2 == null ? 0 : field2.hashCode());
    return result;
}

Используется число 31, т.к. оно простое и оптимизируется JVM (31 * i == (i << 5) - i).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы