Seite 1 von 1

comparable / toCompare

Verfasst: 22.10.2010, 21:03
von Thomas67
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

Re: comparable / toCompare

Verfasst: 22.10.2010, 22:11
von nigjo
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

Re: comparable / toCompare

Verfasst: 23.10.2010, 09:58
von Thomas67
Ah ok..
so daß ich nicht die Standard-toCompare nutze, sonderen einen Comparator explizit vorgebe.
Dank
Mal a bisserl rumspielen...

Dankeschön!
Thomas