Ich versuche zu verstehen, wie die vergleichbare compareTo
Methode den Eingang sortiert. Unten ist die compareTo
Methode implementiert:dosent verstehen, wie die Sortierung funktioniert
@Override
public int compareTo(Name n) {
int lastCmp = lastName.compareTo(n.lastName);
return (lastCmp != 0 ? lastCmp : firstName.compareTo(n.firstName));
}
Der Eingabe-Array zur Collections.sort
Methode ist:
Name nameArray[] = {
new Name("John","Smith"),
new Name("Karl","Ng"),
new Name("Jeff","Smith"),
new Name("Tom","Rich")
};
List<Name> names = Arrays.asList(nameArray);
Collections.sort(names);
Ich verstehe nicht, welche Werte in die compareTo
Verfahren getroffen werden. (n.letzterName und Nachname) in welcher Reihenfolge?
Die Sortiermethode Sammlungen sortiert Ihre Namensdaten basierend auf Ihrer compareTo-Methode. Die compareTo-Methode wird so oft wie nötig mit zwei Namensinstanzen aufgerufen, bis alle Namensinstanzen sortiert sind. In Ihrem Beispiel mit 4 Beispielen könnte die compareTo-Methode bis zu 6 Mal aufgerufen werden. –