получилась интересная ситауция.
Гипотетически:
Есть класс human. У хюмана есть возраст. Есть список, где сортируются хюманы по возрасту.
Для сортировки просто использовал TreeSet,
потому-что все сходится: дубликатов быть не может, а сортировать-то нужно.
На equals() оверрайд:
Допустим, что хюманы равны друг-другу, если у них одинаковое им‘я. Тогда - дубликат.
В итоге, если у людей получался одинаковый возраст (к примеру, обоим по 20), то compareTo возвращает 0, что для TreeSet означает, что они равны.
Да, именно equal, как у equals.
Мне пришлось пометить реализацию compareTo, как несовместимую с equals.
Как решить - еще не придумал.
Кто сталкивался, или у кого есть какие-то идеи, как бы вы решили это дело?