C
Camino
Gast
Hallo,
wie kann ich denn meinen (unten angezeigten) Comparator so ändern, dass ich meine ArrayList nach mehreren Kriterien sortieren kann, z.B. erst nach Nachname und dann nach Vorname (falls evtl. gleiche Nachnamen mehrmals vorkommen)? Oder muss ich für Nachnamen und Vornamen jeweils einen Comparator schreiben und diese dann nacheinander anwenden? Das Sortieren nach nur einem Kriterium (Nachname) klappt so schon mal. Ich hatte auch irgendwo gelesen, dass Collator zum Sortieren von Strings besser wäre. Hab aber leider bisher noch kein Beispiel gefunden, wie ich den Collator anstatt dem Comparator benutze.
Hier die Comparator-Klasse:
Aufgerufen wird der Comparator in der Datenklasse so:
Vielen Dank schonmal im voraus
Camino
wie kann ich denn meinen (unten angezeigten) Comparator so ändern, dass ich meine ArrayList nach mehreren Kriterien sortieren kann, z.B. erst nach Nachname und dann nach Vorname (falls evtl. gleiche Nachnamen mehrmals vorkommen)? Oder muss ich für Nachnamen und Vornamen jeweils einen Comparator schreiben und diese dann nacheinander anwenden? Das Sortieren nach nur einem Kriterium (Nachname) klappt so schon mal. Ich hatte auch irgendwo gelesen, dass Collator zum Sortieren von Strings besser wäre. Hab aber leider bisher noch kein Beispiel gefunden, wie ich den Collator anstatt dem Comparator benutze.
Hier die Comparator-Klasse:
Code:
import java.util.Comparator;
public class MyListComparator implements Comparator<Player> {
public int compare( Player a, Player b ) {
String name1 = ((Player) a).getLastName();
String name2 = ((Player) b).getLastName();
return name1.compareTo(name2);
}
}
Aufgerufen wird der Comparator in der Datenklasse so:
Code:
...
Comparator<Player> comparator = new MyListComparator();
java.util.Collections.sort( playerList, comparator );
...
Vielen Dank schonmal im voraus
Camino