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

Что нужно для корректной работы HashMap

Для корректной работы HashMap в Java необходимо:

  1. Правильно реализовать hashCode() и equals() в ключах. Если объекты равны по equals(), их hashCode() должен быть одинаковым. Иначе возможны потери данных или некорректный поиск.

  2. Не изменять ключи после добавления в HashMap. Изменение ключа может нарушить хеш-код, что приведёт к невозможности найти элемент.

Пример корректного ключа:

java
class Key {
    private final int id;

    public Key(int id) { this.id = id; }

    @Override
    public int hashCode() { return id; }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Key key = (Key) o;
        return id == key.id;
    }
}
  1. Выбрать подходящий initialCapacity и loadFactor при создании, если известен ожидаемый размер, чтобы минимизировать рехеширование.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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