Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Comparator schreiben / objekte sortieren

Empfohlene Antworten

Veröffentlicht

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 :)

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.

  • Autor

Kann ich sagen " k1.getNachname.compareto(k2.getNachname)"? ..... ich habe nämlich mit get und set gearbeitet. Oder habe ich da einen Denkfehler?

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]

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.