Im Java Collection -Framework werden die Implementierungen auflisten, die Vektor, ArrayList und LinkedList enthalten. Diese Sammlungen bieten Indexzugriff auf Objektgruppen. Sie bieten Unterstützung für das Hinzufügen und Entfernen von Elementen. Sie haben jedoch keine integrierte Elementsortierunterstützung.
Sie können Listenelemente mithilfe der Sort () -Methode in der Klasse java.util.Collections sortieren. Sie können entweder ein Listenobjekt an die Methode übergeben oder eine Liste und einen Komparator übergeben. Wenn alle Elemente in der Liste Klassen desselben Typs sind und diese Klasse die vergleichbare Schnittstelle implementiert, können Sie einfach Collectionss.sort () aufrufen. Wenn diese Klasse keinen Komparator implementiert, können Sie auch einen Komparator in die Methode sort () übergeben, um sie zu sortieren. Wenn Sie nicht mit der Standardklassifizierungsreihenfolge sortieren möchten, können Sie auch einen Komparator in die Methode sort () übergeben, um sie zu sortieren.
1. Vergleichbare Objekte implementieren vergleichbare Schnittstelle
öffentliche Klasse implementiert vergleichbar {private int id; {this.id = id; {this.name = name; . (o Instanz) {Student S = (Student) o;
2. Verwendungssammlung.Sort (Objekt O, Vergleicher C)
öffentliche Klasse JiamenuComparator Implements Comparator {public int Compare (Objekt O1, Objekt O2) {if (null! = o1 && null! ) <mseu2.getID ()) {return 1;
3.. Sortieren Sie mehrere Attribute im Listenelement (unter Verwendung von Commons-Beanutils)
Die Commons-Beanutils-Klassenbibliothek verfügt über eine BeanComparator-Klasse, mit der Javabeane sortiert werden können. Diese Klasse kann jedoch nur ein Attribut gleichzeitig sortieren. Hier ist ein Beispiel für die Verwendung von BeanComparator zur Sortierung mehrerer Eigenschaften von JavaBeans, was sehr einfach ist:
import org.apache.commons.beanutils.beanComparator; import java.util.collections; import Java.util.comParator; Importieren Sie Java.util.list; "Deaktiviert"}) öffentliche Klasse Listsorter { /*** Mehrere Attribute des Listenelements werden sortiert. Beispielsweise listsorter.sort (list, "name", "ay"), zuerst nach * Name -Attribut sortieren, und Elemente mit demselben Namen werden nach dem Altersattribut sortiert. * * @paramliste enthält die Liste der zu sortierenden Elemente * @param Properties -Eigenschaften, die sortiert werden sollen. Die vorherigen Werte haben eine hohe Priorität. */ public static <V> void sortieren (Liste <V> Liste, endgültige Zeichenfolge ... Eigenschaften) {collections.sort (Liste, neuer Komparator <V> () {public int Compare (v O1, v O2) {wenn (O1 == null && o2 == null) return 0; Eigenschaft);