Heim > Java > javaLernprogramm > Wie kann ich eine Datentabelle von Autos mithilfe eines benutzerdefinierten Komparators in Java nach Farbe sortieren?

Wie kann ich eine Datentabelle von Autos mithilfe eines benutzerdefinierten Komparators in Java nach Farbe sortieren?

DDD
Freigeben: 2024-12-10 20:25:11
Original
601 Leute haben es durchsucht

How Can I Sort a Data Table of Cars by Color Using a Custom Comparator in Java?

Benutzerdefinierte Sortierung mit Komparator für eine Datentabelle

Sie haben erwähnt, dass Sie eine Datentabelle zum Anzeigen von Fahrzeuglisten verwenden und diese nach Fahrzeugfarbe sortieren möchten , nicht alphabetisch. Um dies zu erreichen, können Sie die Comparator-Schnittstelle von Java nutzen.

Sie haben versucht, Comparable und Comparator zu verwenden, aber es scheint, dass es nur eine Sortierung in alphabetischer Reihenfolge zulässt. Hier ist ein erweiterter Ansatz mit einem benutzerdefinierten Komparator:

Beginnen Sie mit der Definition einer Aufzählung für Autofarben, wie vorgeschlagen:

public enum PaintColors {
    SILVER, BLUE, MAGENTA, RED
}
Nach dem Login kopieren

Aktualisieren Sie Ihren ColorComparator, um einen Vergleich basierend auf der PaintColors-Aufzählung durchzuführen:

static class ColorComparator implements Comparator<Car> {

    public int compare(Car c1, Car c2) {
        return c1.getColor().compareTo(c2.getColor());
    }
}
Nach dem Login kopieren

Ersetzen Sie das String-Farbfeld in Car durch die PaintColors Aufzählung:

private PaintColors color;
Nach dem Login kopieren

Aktualisieren Sie in Ihrer Hauptmethode Ihre Fahrzeugliste und sortieren Sie sie mit dem benutzerdefinierten Komparator:

carList.add(new Car("Ford", PaintColors.SILVER));

...

Collections.sort(carList, new ColorComparator());
Nach dem Login kopieren

Dieser Ansatz verwendet eine Aufzählung zur Darstellung von Fahrzeugfarben, sodass Sie diese definieren können eine benutzerdefinierte Sortierreihenfolge innerhalb der Enum-Deklaration. Der ColorComparator verwendet dann die definierte Reihenfolge, um die Fahrzeugliste effizient zu sortieren.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Datentabelle von Autos mithilfe eines benutzerdefinierten Komparators in Java nach Farbe sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage