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

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

Barbara Streisand
Barbara StreisandOriginal
2024-11-25 12:17:12678Durchsuche

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());
  }
});

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!

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