Heim > Java > javaLernprogramm > Hauptteil

Wie sortiere ich ein Array von Objekten nach Namen in Java?

Barbara Streisand
Freigeben: 2024-11-25 12:17:12
Original
679 Leute haben es durchsucht

How to Sort an Array of Objects by Name in Java?

Arrays von Objekten in Java sortieren

Problem:

Sie haben ein Array von Objekten die keine Zeichenfolgen enthalten, sondern Objektreferenzen haben. Jede Objektreferenz stellt über eine toString-Methode Informationen zu Name, ID, Autor und Herausgeber bereit. Die Aufgabe besteht darin, dieses Array nach dem Namensfeld zu sortieren. Sie sind sich jedoch nicht sicher, wie Sie den Namen jedes Objekts extrahieren und als Sortierkriterium verwenden können.

Lösung:

So extrahieren Sie den Namen jedes Objekts und sortieren ihn In diesem Feld können Sie den folgenden Ansatz verwenden:

List<Book> books = new ArrayList<Book>();

Collections.sort(books, new Comparator<Book>() {
  @Override
  public int compare(Book o1, Book o2) {
    return o1.getName().compareTo(o2.getName());
  }
});
Nach dem Login kopieren

In diesem Beispiel:

  • Liste ist eine Liste, die Ihr Array von Objekten darstellt.
  • Collections.sort wird zum Sortieren der Liste verwendet.
  • new Comparator() {...} definiert einen benutzerdefinierten Komparator, um die zu bestimmen Sortierreihenfolge.
  • o1.getName() extrahiert das Namensfeld aus dem ersten Objekt mithilfe der Getter-Methode oder direktem Zugriff, wenn das Feld vorhanden ist public.
  • o2.getName() extrahiert das Namensfeld aus dem zweiten Objekt.
  • compareTo vergleicht die extrahierten Namen und gibt einen negativen Wert zurück, wenn der Vorname kleiner ist, einen positiven Wert, wenn er kleiner ist größer und Null, wenn sie gleich sind.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array von Objekten nach Namen in Java?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage