Guten Tag,
hier eine weitere Frage und eine herzliches Danke für Beachtung oder sogar Beantwortung dieser Frage.
Wie kann ich ein TreeSet flexibel und nach verschiedenen Kriterien sortieren?
Sachverhalt:
TreeSet implementiert sortedSet und gilt (daher!?) als sortiert, bzw. sortiert automatisch.
Wenn nun Objekte des Typs Person in ein TreeSet ts sollen, dann muss
die class Person Comparable implementieren.
Sobald mehr als ein einzelnes Objekte des Typ Person in ts hinzugefügt werden soll,
wird die Überschreibung von compareTo(E o) gefordert.
public int compareTo(E o) ist einzige Methode in Comparable.
compareTo(E o) kann sich nur auf EIN Attribut von Person-Objekt beziehen, nämlich das was ich auswähle, denn über die Parameterliste von compareTo(...) ist keine Steuerung möglich.
Wenn ich meine Person Objekte nach jeweils einem anderen Attribut sortieren will
dann geht das in einem Programmlauf und ohne Abändern der compareTo(E o) -Überschreibung wohl nicht.
Wenn ich meine Person Objekte nach jeweils einem anderen Attribut sortieren will,
dann ist TreeSet anscheinend ungeeignet, oder?
Da muss ich vermutlich die Person-Objekte in eine andere Collection (z.B. List ) speichern und jeweils verschiedene Comparatoren
darauf anwenden, oder ?
Viele Grüße
Steve222
hier eine weitere Frage und eine herzliches Danke für Beachtung oder sogar Beantwortung dieser Frage.
Wie kann ich ein TreeSet flexibel und nach verschiedenen Kriterien sortieren?
Sachverhalt:
TreeSet implementiert sortedSet und gilt (daher!?) als sortiert, bzw. sortiert automatisch.
Wenn nun Objekte des Typs Person in ein TreeSet ts sollen, dann muss
die class Person Comparable implementieren.
Sobald mehr als ein einzelnes Objekte des Typ Person in ts hinzugefügt werden soll,
wird die Überschreibung von compareTo(E o) gefordert.
public int compareTo(E o) ist einzige Methode in Comparable.
compareTo(E o) kann sich nur auf EIN Attribut von Person-Objekt beziehen, nämlich das was ich auswähle, denn über die Parameterliste von compareTo(...) ist keine Steuerung möglich.
Wenn ich meine Person Objekte nach jeweils einem anderen Attribut sortieren will
dann geht das in einem Programmlauf und ohne Abändern der compareTo(E o) -Überschreibung wohl nicht.
Wenn ich meine Person Objekte nach jeweils einem anderen Attribut sortieren will,
dann ist TreeSet anscheinend ungeeignet, oder?
Da muss ich vermutlich die Person-Objekte in eine andere Collection (z.B. List ) speichern und jeweils verschiedene Comparatoren
darauf anwenden, oder ?
Viele Grüße
Steve222