comparable / toCompare

Anleitungen usw. rund um Java, Tutorials halt.

Moderator: wegus

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

comparable / toCompare

Beitragvon 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: 584
Registriert: 08.09.2009, 09:43
Wohnort: Aachen
Kontaktdaten:

Re: comparable / toCompare

Beitragvon 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

Beitragvon 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


Zurück zu „Java - Tutorials“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast