logische Inkonsistenz zwischen Set- und SortedSet-Schnittstelle in Java [closed]
Ich habe eine logische Inkonsistenz zwischen den Schnittstellen Set und SortedSet in Java festgestellt.
SortedSet erkennt verschiedene Objekte (nach der Methode equal ()) als gleich, wenn sie beim Vergleich gleich sind, ist aber logisch falsch. Das Vergleichen von Objekten sollte nur für die Reihenfolge der Objekte verantwortlich sein.
Zum Beispiel: Ich kann viele Produkte haben und möchte sie nach Preis sortieren. In diesem Fall kann das SortedSet nicht verschiedene Produkte mit demselben Preis enthalten: ["Salz", 0,5 $], ["Milch", 1 $], ["Brot", 1 $], ["Bananen", 2 $ ] In obigem Beispiel wird Milch durch Brot ersetzt. In diesem Fall wird der Vertrag der geerbten Set-Schnittstelle verletzt, da sich ungleiche Objekte gegenseitig ersetzen. Ich rede JavaDoc von SortedSet und weiß, dass dieses Verhalten gut dokumentiert ist, aber ich denke, es ist ein logischer Fehler.
Was ist deine Meinung, vielleicht hast du schon ähnliche Probleme mit Set und SortedSet?