Как уже упоминалось, выберите правильную коллекцию для задачи и, скорее всего, вам будет нужен список. Взаимодействовать с equals (), hashcode () или compareTo (), чтобы сломать идентичность, как правило, плохая идея, просто втиснуть экземпляр в неправильную коллекцию для начала. Хуже того, он может нарушить работу кода в других областях приложения, которые зависят от этих методов, приводящих к достоверным результатам сравнения, и очень трудно отладить или отследить такие ошибки.