Sortieren von Objekten in ArrayList nach Datum
Angesichts umfangreicher Untersuchungen, die zahlreiche Beispiele für die alphabetische Sortierung von Elementen in einer ArrayList ergeben haben, bleibt es notwendig, dies zu erforschen wie Elemente nach Datum sortiert werden können. Dieser Artikel befasst sich mit der Implementierung eines solchen Sortiermechanismus.
Implementierung der Comparable-Schnittstelle
Ein Ansatz besteht darin, die Comparable-Schnittstelle innerhalb des zu sortierenden Objekts zu implementieren. Dadurch kann das Objekt mit anderen Objekten des gleichen Typs verglichen werden. So geht's:
public class MyObject implements Comparable<MyObject> { private Date dateTime; // getters and setters @Override public int compareTo(MyObject o) { return getDateTime().compareTo(o.getDateTime()); } }
Sortieren mit Collections.sort()
Sobald das Objekt vergleichbar ist, kann es mit der Methode Collections.sort() sortiert werden:
Collections.sort(myList);
Benutzerdefinierter Vergleicher
Manchmal Eine Änderung des Modells kann unerwünscht sein. In solchen Fällen kann im Handumdrehen ein benutzerdefinierter Komparator erstellt werden:
Collections.sort(myList, new Comparator<MyObject>() { public int compare(MyObject o1, MyObject o2) { return o1.getDateTime().compareTo(o2.getDateTime()); } });
Umgang mit Nullwerten
Es ist wichtig, die Möglichkeit von Nullwerten in DateTime zu berücksichtigen Feld. Um NullPointerExceptions zu vermeiden, empfiehlt es sich, Nullwerte wie folgt zu behandeln:
public class MyObject implements Comparable<MyObject> { private Date dateTime; // getters and setters @Override public int compareTo(MyObject o) { if (getDateTime() == null || o.getDateTime() == null) return 0; return getDateTime().compareTo(o.getDateTime()); } }
Oder im benutzerdefinierten Komparator:
Collections.sort(myList, new Comparator<MyObject>() { public int compare(MyObject o1, MyObject o2) { if (o1.getDateTime() == null || o2.getDateTime() == null) return 0; return o1.getDateTime().compareTo(o2.getDateTime()); } });
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine ArrayList von Objekten nach Datum in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!