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

Каким должен быть ключ в HashMap

Ключ в HashMap должен быть:

  1. Иммутабельным (или хотя бы не изменяться после добавления в HashMap), так как изменение ключа может нарушить хэш-код и поиск по нему станет невозможным.
  2. Правильно реализовать equals() и hashCode():
    • Если equals() возвращает true, то hashCode() должен быть одинаковым.
    • Обратное не обязательно (коллизии допустимы).

Пример:

java
public final class ImmutableKey {
    private final String value;

    public ImmutableKey(String value) {
        this.value = value;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ImmutableKey that = (ImmutableKey) o;
        return Objects.equals(value, that.value);
    }

    @Override
    public int hashCode() {
        return Objects.hash(value);
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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