Mehrfeldsortierung in Java
Das Sortieren von Arrays von Objekten nach mehreren Feldern ist eine häufige Anforderung in der Programmierung. In dieser Frage möchten wir ein Array von Personenobjekten nach Namen und dann nach Alter sortieren.
Lösung:
Um dies zu erreichen, können wir die Sammlungen nutzen. Sortiermethode zusammen mit einer benutzerdefinierten Comparator-Implementierung. Ein Komparator ist eine Klasse, die die Vergleichslogik für zwei Objekte definiert. In unserem Fall benötigen wir als Fallback einen Komparator, der Personenobjekte anhand des Vornamens und des Alters vergleicht.
private static void order(List<Person> persons) { Collections.sort(persons, new Comparator() { public int compare(Object o1, Object o2) { String x1 = ((Person) o1).getName(); String x2 = ((Person) o2).getName(); int sComp = x1.compareTo(x2); if (sComp != 0) { return sComp; } Integer x1 = ((Person) o1).getAge(); Integer x2 = ((Person) o2).getAge(); return x1.compareTo(x2); }}); }
Erklärung:
Nachdem die Liste mit dem benutzerdefinierten Komparator sortiert wurde, wird die Liste
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Java-Array von Objekten nach mehreren Feldern (Name und Alter)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!