Java - TreeSet и hashCode ()

У меня есть быстрый вопрос оTreeSet коллекции иhashCode методы. у меня естьTreeSet и я'Добавляя объекты к нему, прежде чем добавить объект, я проверяю, существует ли он вTreeSet с использованиемcontains метод.

У меня есть 2 различных объекта, каждый из которых создает отдельный hashCode, используя мою реализацию метода hashCode, пример ниже:

public int hashCode()
{
    int hash = 7;
    hash = hash * 31 + anAttribute.hashCode();
    hash = hash * 31 + anotherAttribute.hashCode();
    hash = hash * 31 + yetAnotherAttribute.hashCode();
    return hash;
}

Хэш-коды для конкретного прогона: 76126352 и 76126353 (объекты отличаются только одной цифрой в одном атрибуте).

Метод contains возвращает true для этих объектов, даже если хэш-коды разные. Есть идеи почему? Это действительно сбивает с толку, и помощь будет по достоинству оценена.

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

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