Zum Inhalt springen

Comparator schreiben / objekte sortieren


Empfohlene Beiträge

Geschrieben

Guten tag,

heute stell ich mal wieder eine Frage. :)

Also momentan lerne ich Java und bin beim Thema Comparatoren, wo ich noch nicht ganz durchgestiegen bin.

Ich muss einen Comparator schreiben der meine arralist mit "Kunden objekten" sortiert. Erst den nachnamen und dann den vornamen und dann zurück gibt.

Mein Anfang:

Aufruf...

 Collection.sort(kunden, new KundenComparator());

class KundenComparator implements Comparator<Kunde>

{

     @Override public int compare(Kunde k1, Kunde k2)

      {


      }

 

Wäre nett wenn mir jemand helfen kann, villeicht auch mit einer leichteren Methode. :)

Hoffe ich habe es klar ausgedrückt :)

Geschrieben

Die Vorgehensweise ist eigentlich immer gleich: Zuerst prüfst du, ob die Objekte sich in der wichtigsten Eigenschaft (bei dir: Nachname) unterscheiden. Falls ja, gibst du das entstprechende Vergleichsergebnis zurück. Falls die wichtigste Eigenschaft gleich ist, machst du dasselbe mit der nächsten usw.

Wenn alle für die Sortierung relevanten Eigenschaften gleich sind, gibst du 0 zurück.

Geschrieben
int nachnamevergleichsergebnis = k1.getNachname().compareTo(k2.getNachname());
if(nachnamevergleichsergebnis != 0) // Nachnamen sind nicht gleich
return nachnamevergleichsergebnis;

// Jetzt dasselbe für Vorname

// Und am Ende, wenn alles gleich war:
return 0;
[/php]

Geschrieben

Naja, wenn für die zwei Objekte die zu vergleichenden Attribute gleich sind, gibst du 0 zurück. Da ändert sich dann beim sortieren nichts an der Reihenfolge, bleibt an der Stelle einfach so wie es ist.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...