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

На основании каких данных hashCode вычисляет число

hashCode() в Java вычисляется на основе внутреннего состояния объекта. Для примитивов и строк есть стандартные реализации:

  • Для примитивов (Integer, Long и т.д.) — значение самого числа.
  • Для String — полиномиальный хэш на основе символов строки.
  • Для массивов — хэш от содержимого (Arrays.hashCode()).
  • Для кастомных объектов — по умолчанию используется адрес в памяти (но можно переопределить).

Пример переопределения:

java
@Override
public int hashCode() {
    int result = 17;
    result = 31 * result + field1.hashCode();
    result = 31 * result + field2;
    return result;
}

Важно: При переопределении hashCode() всегда переопределяй equals(), чтобы соблюдать контракт:
«Если два объекта равны по equals(), их hashCode() должен быть одинаковым».

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

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

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

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