English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie Sie eine ArrayList von benutzerdefinierten Objekten in Java nach einer bestimmten Eigenschaft sortieren.
import java.util.*; public class CustomObject { private String customProperty; public CustomObject(String property) { this.customProperty = property; } public String getCustomProperty() { return this.customProperty; } public static void main(String[] args) { ArrayList<Customobject> list = new ArrayList<>(); list.add(new CustomObject("Z")); list.add(new CustomObject("A")); list.add(new CustomObject("B")); list.add(new CustomObject("X")); list.add(new CustomObject("Aa")); list.sort((o1, o2) -> o1.getCustomProperty().compareTo(o2.getCustomProperty())); for (CustomObject obj : list) { System.out.println(obj.getCustomProperty()); } } }
Wenn Sie das Programm ausführen, wird ausgegeben:
A Aa B X Z
In dem obigen Programm definieren wir eine CustomObject-Klasse mit dem String-Attribut customProperty
Wir haben auch einen Konstruktor mit Initialisierungseigenschaften und eine Getter-Funktion getCustomProperty () hinzugefügt, um customProperty zurückzugeben
Im main () -Methoden erstellen wir eine Liste von Arraylisten von benutzerdefinierten Objekten und verwenden5Objekte wurden initialisiert.
um die Liste nach einem bestimmten Attribut zu sortieren, verwenden wir den sort () -Methoden der Liste. Der sort () -Methoden akzeptiert die zu sortierende Liste (die endgültige sortierte Liste ist ebenfalls die gleiche) und einen Comparator
In unserem Beispiel ist der Comparator ein Lambda-Ausdruck
von der Liste o1und o2zwei Objekte
verwendet compareTo () -Methode, um zwei Objekte customProperty zu vergleichen
wenn o1wird das Attribut o2wird das Attribut, wird der letzte positive Wert zurückgegeben; wenn o1wird das Attribut o2wird der letzte negative Wert zurückgegeben; wenn sie gleich sind, wird null zurückgegeben.
Daraufhin wird die Liste (list) nach dem kleinsten bis zum größten Attribut sortiert und in die Liste (list) zurückgespeichert