Почему мой HashMap позволяет дублировать ключи?

Привет'м, используяHashMap отслеживать сервисы и сервис-запросы на доске объявлений. Тем не менее, я должен иметь хэш-код и равно неправильно, потому что яЯ получаю дубликаты ключей. Кто-нибудь может сказать, почему это может быть?

Содержимое набора ключей:

Services: [1, 1, 6, 6, 3]
Requests: [8, 7, 6, 5, 8, 4, 5, 6, 2]

Вот'соответствующий код:

private static final HashMap services = new HashMap();
...

public class Advert {

private int id;
private BoardPoster poster;

public Advert(BoardPoster poster) {
    this.poster = poster;
}

public BoardPoster getPoster() {
    return poster;
}

public void spawn() {
    id = RANDOM.nextInt(ADVERT_RANGE);
}

public int getID() {
    return id;
}

@Override
public String toString() {
    return Integer.toString(id);
}

@Override
public boolean equals(Object o) {
    if (o != null && o instanceof Advert) {
        return ((Advert) o).id == id;
    }
    return false;
}

@Override
public int hashCode() {
    return 67 * 5 + this.id;
}
}

Ответы на вопрос(1)

Ваш ответ на вопрос