логическое несоответствие между интерфейсами Set и SortedSet в Java [закрыто]
Я заметил логическое несоответствие между интерфейсами Set и SortedSet в Java.
SortedSet распознает различные объекты (методом equal ()) как равные, если они совпадают во время сравнения, но это логически неверно. Сравнение объектов должно отвечать только за порядок объектов.
Например: у меня может быть много продуктов, и я хочу отсортировать их по цене. В этом случае SortedSet не может содержать разные продукты с одинаковой ценой: [«соль», 0,5 $], [«молоко», 1 $], [«хлеб», 1 $], [«бананы», 2 $ ] В приведенном выше примере молоко будет заменено хлебом. В этом случае контракт унаследованного интерфейса Set будет нарушен, поскольку неравные объекты заменяют друг друга. Я прочитал JavaDoc из SortedSet и знаю, что это поведение хорошо документировано, но я думаю, что это логическая ошибка.
Как вы думаете, может быть, у вас уже есть подобные проблемы с Set и SortedSet?