Java-Objekte nach mehreren Feldern sortieren: Name und Alter
Betrachten Sie ein Array von Person-Objekten, die jeweils ein ganzzahliges Alter und einen String-Namen enthalten . Das alphabetische Sortieren eines solchen Arrays nach Name und dann nach Alter erfordert einen benutzerdefinierten Sortieralgorithmus.
Verwenden von Collections.sort
Die Java Collections-Bibliothek bietet eine integrierte Sortiermethode Sie können Folgendes nutzen:
private static void order(List<Person> persons) { Collections.sort(persons, new Comparator<>() { @Override public int compare(Object o1, Object o2) { // Compare by name (lexicographically) String x1 = ((Person) o1).getName(); String x2 = ((Person) o2).getName(); int sComp = x1.compareTo(x2); // If names are different, return result if (sComp != 0) { return sComp; } // If names are equal, compare by age Integer x1 = ((Person) o1).getAge(); Integer x2 = ((Person) o2).getAge(); return x1.compareTo(x2); } }); }
Prozess Ablauf
Durch Aufrufen von Collections.sort mit diesem benutzerdefinierten Komparator können Sie das Array sortieren von Personenobjekten in aufsteigender Reihenfolge des Namens, gefolgt von aufsteigender Reihenfolge des Alters.
Das obige ist der detaillierte Inhalt vonWie sortiere ich Java-Objekte nach mehreren Feldern (Name und Alter)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!