Обходной путь для хэша для HashSet при изменении внутреннего объекта

Ответ на этот SO объясняет проблему, с которой я столкнулся: HashSet.remove() и Iterator.remove() не работают

По сути, как только я добавляю что-то в HashSet, если я изменяю любое из его полей, то набор проваливает любые тесты на равенство с набором, содержащим объект с точно такими же полями, поскольку хэш-код, в котором он хранился, был для того времени, когда у него были установлены другие поля.

Итак, поскольку этот ответ объясняет, что происходит, что было бы хорошим обходным решением для этого, чтобы иметь одновременно уникальность использования набора и возможность изменять внутренние поля объектов в наборе? Или это просто невозможно?

5
задан Community 23 May 2017 в 11:46
поделиться