Heim >Java >javaLernprogramm >Wie sortiere ich eine ArrayList benutzerdefinierter Objekte in Java basierend auf einer bestimmten Eigenschaft?
So sortieren Sie eine ArrayList benutzerdefinierter Objekte in Java
Das Sortieren einer ArrayList benutzerdefinierter Objekte umfasst den Vergleich der Objekte anhand bestimmter Eigenschaften. In diesem Fall haben wir eine Liste von Fruit-Objekten und möchten sie nach ihren Fruchtnamen sortieren.
Erstellen der Fruit-Klasse und der ArrayList
Wir fangen an durch Definieren der Fruit-Klasse mit ihren Attributen und Gettern/Settern:
public class Fruit { private String fruitName; private String fruitDesc; private int quantity; // getters and setters } // Create an ArrayList of Fruit List<Fruit> fruits = new ArrayList<>();
Hinzufügen von Früchten zur ArrayList
Wir füllen die ArrayList mithilfe einer Schleife:
Fruit fruit; for (int i = 0; i < 100; i++) { fruit = new Fruit(); // set fruit properties fruits.add(fruit); }
Sortieren der ArrayList
Um die ArrayList nach Fruchtnamen zu sortieren, verwenden wir die Collections.sort-Methode und einen benutzerdefinierten Komparator:
Collections.sort(fruits, new Comparator<Fruit>() { @Override public int compare(Fruit fruit1, Fruit fruit2) { return fruit1.getFruitName().compareTo(fruit2.getFruitName()); } });
Im Komparator verwenden wir die Methode „compareTo“, um die Fruchtnamen der beiden Früchte zu vergleichen und basierend auf dem Ergebnis eine Ganzzahl zurückzugeben:
Nach dem Sortieren enthält die Früchte-ArrayList die Fruchtobjekte, alphabetisch nach ihren Fruchtnamen sortiert.
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine ArrayList benutzerdefinierter Objekte in Java basierend auf einer bestimmten Eigenschaft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!