comparable / toCompare

Anleitungen usw. rund um Java, Tutorials halt.

Moderator: wegus

Antworten
Thomas67
Beiträge: 57
Registriert: 12.09.2010, 19:17

comparable / toCompare

Beitrag von Thomas67 » 22.10.2010, 21:03

Servus

wenn ich comparable implementiere, muß ich ja toCompare zur Verfügung stellen
geht das auch mit zwei Varianten von toCompare? Wie mach ich das?

Konkretes Beispiel
Ich habe eine Klasse
class person implements comparable {
...
String Name
int Alter
...
}

und später einen Vector oder list aus Personen
Diese Liste oder Vector will ich mit Collections.Sort sortieren
Jedoch einmal nach Namen, einmal nach Alter

eine Methoder toCompare ( Person, SortArt) könnte das machen
Aber kann ich SortArt irgendwo beim Sortieren mit übergeben?

Finde bisher immer nu Beispiele mit einfachem, eindeutigem toCompare

Danke
Thomas

Benutzeravatar
nigjo
Beiträge: 599
Registriert: 08.09.2009, 09:43
Wohnort: Aachen
Kontaktdaten:

Re: comparable / toCompare

Beitrag von nigjo » 22.10.2010, 22:11

Hi

Du kannst beim Aufruf von Collection.sort() auch einen individuellen Comparator angeben:

Code: Alles auswählen

Collections.sort(personenListe, new Comparator<Person>(){
  public int compare(Person p1, Person p2){
    return p1.alter - p2.alter;
  }
});
Gruß
Jens
Man sollte seine Werkzeuge kennen. Ansonsten haut man sich mit dem Hammer nur auf die Finger.

--
NetBeans Certified Engineer - Java Getriebe

Thomas67
Beiträge: 57
Registriert: 12.09.2010, 19:17

Re: comparable / toCompare

Beitrag von Thomas67 » 23.10.2010, 09:58

Ah ok..
so daß ich nicht die Standard-toCompare nutze, sonderen einen Comparator explizit vorgebe.
Dank
Mal a bisserl rumspielen...

Dankeschön!
Thomas

Antworten