In Java, Sammlung ist ein Framework, das Schnittstellen bereitstellt ( Satz, Liste, Warteschlange, usw.) und Klassen ( ArrayList, LinkedList, usw.), um die Gruppe von Objekten zu speichern. Diese Klassen speichern Daten in ungeordneter Weise. Manchmal müssen wir Daten in einer geordneten Weise anordnen, die als bezeichnet wird Sortierung . Die Sortierung kann auf zwei Arten erfolgen: aufsteigend oder absteigend Befehl.
In diesem Abschnitt werden wir lernen wie man ArrayList aufsteigend sortiert Und absteigende Reihenfolge.
Anordnungsliste
In Java , Anordnungsliste ist eine Klasse des Collections-Frameworks, die im definiert istjava.utilPaket. Es erbt die AbstractList-Klasse. Es speichert die Elemente dynamisch. Der Vorteil von ArrayList besteht darin, dass es keine Größenbeschränkung gibt. Es ist flexibler als das herkömmliche Array. Es kann doppelte Elemente enthalten. Wir können auch alle Methoden der List-Schnittstelle verwenden, da sie die implementiert Aufführen Schnittstelle.
Wir können eine ArrayList auf zwei Arten sortieren: aufsteigend und absteigend. Die Collections-Klasse bietet zwei Methoden zum Sortieren einer ArrayList in Java.
Collections.sort()-Methode
Eine ArrayList kann mithilfe von sortiert werden Sortieren() Methode der Collections-Klasse in Java . Es akzeptiert ein ArrayList-Objekt als zu sortierenden Parameter und gibt eine ArrayList zurück, die in aufsteigender Reihenfolge entsprechend der natürlichen Reihenfolge ihrer Elemente sortiert ist.
Tojson Java
Syntax
public static <t extends comparable> void sort(List list) </t>
Erinnern: Alle Elemente in der ArrayList müssen untereinander vergleichbar sein, andernfalls wird ein Fehler ausgelöst ClassCastException. Untereinander vergleichbar bedeutet hier, dass die Liste den gleichen Elementtyp aufweisen muss. Betrachten Sie zum Beispiel den Codeausschnitt:
//creating an instance of ArrayList that contains String type elements ArrayList list = new ArrayList(); list.add('Computer'); list.add(123); list.add('Hard Disk'); list.add('DRAM');
Im obigen Beispiel sehen wir, dass eine Liste vier Elemente enthält, von denen drei Elemente vom Typ String und eines vom Typ Integer sind. Die drei Elemente in String sind untereinander vergleichbar, aber das Element vom Typ Integer ist nicht mit den anderen drei vergleichbar. Daher muss die Liste denselben Elementtyp enthalten.
Collections.reverseOrder()-Methode
Wenn wir ArrayList sortieren wollen absteigend Befehl, Java-Sammlungen Klasse bietet umgekehrte Reihenfolge() Methode. Es ermöglicht uns, die ArrayList einzusortieren umgekehrt-lexikographisch Befehl.
Syntax
public static Comparator reverseOrder()
Es gibt einen Komparator zurück, der einer Sammlung von Objekten, die die Comparable-Schnittstelle implementieren, die Umkehrung der natürlichen Reihenfolge auferlegt.
Denken Sie daran, dass wir die Methode reverseOrder() nicht direkt aufrufen. Wir verwenden es zusammen mit dem Collection.sort() Methode wie folgt.
Arrayliste sortiert
Collections.sort(objectOfArrayList, Collections.reverseOrder());
Daher erfolgt die Sortierung der ArrayList in absteigender Reihenfolge in zwei Schritten: Zuerst sortiert die ArrayList die Daten in aufsteigender Reihenfolge, danach werden die sortierten Daten umgedreht umgekehrte Reihenfolge() Methode.
Lassen Sie uns Programme erstellen, die ArrayList in aufsteigender Reihenfolge sortieren.
ArrayList in aufsteigender Reihenfolge sortieren
Im folgenden Beispiel haben wir eine ArrayList vom Typ String erstellt und ihr einige Elemente hinzugefügt. Danach haben wir die Methode sort() der Klasse Collections aufgerufen und das Objekt der Klasse ArrayList übergeben, d. h. eine Liste, die die Elemente in aufsteigender Reihenfolge sortiert.
SortArrayListExample1.java
import java.util.*; public class SortArrayListExample1 { public static void main(String args[]) { // creating object of ArrayList class ArrayList list = new ArrayList(); // adding elements to the ArrayList list.add('Volkswagen'); list.add('Toyota'); list.add('Porsche'); list.add('Ferrari'); list.add('Mercedes-Benz'); list.add('Audi'); list.add('Rolls-Royce'); list.add('BMW'); // printing the unsorted ArrayList System.out.println('Before Sorting: '+ list); // Sorting ArrayList in ascending Order Collections.sort(list); // printing the sorted ArrayList System.out.println('After Sorting: '+ list); } }
Ausgabe:
SDLC-Lebenszyklus
Before Sorting: [Volkswagen, Toyota, Porsche, Ferrari, Mercedes-Benz, Audi, Rolls-Royce, BMW] After Sorting: [Audi, BMW, Ferrari, Mercedes-Benz, Porsche, Rolls-Royce, Toyota, Volkswagen]
Sehen wir uns ein weiteres Beispiel an, das eine ArrayList vom Typ Integer sortiert.
SortArrayListExample2.java
import java.util.*; public class SortArrayListExample2 { public static void main(String args[]) { //creating an object of ArrayList class ArrayList list = new ArrayList(); list.add(55); list.add(34); list.add(98); list.add(67); list.add(39); list.add(76); list.add(81); //printing ArrayList before sorting System.out.println('ArrayList Before Sorting:'); for(int marks: list) { System.out.println(marks); } //sorting ArrayList in ascending order Collections.sort(list); //printing ArrayList after sorting System.out.println('ArrayList After Sorting:'); for(int marks: list) { System.out.println(marks); } } }
Ausgabe:
ArrayList Before Sorting: 55 34 98 67 39 76 81 ArrayList After Sorting: 34 39 55 67 76 81 98
ArrayList in absteigender Reihenfolge sortieren
Im folgenden Beispiel haben wir eine ArrayList vom Typ String erstellt und ihr einige Elemente hinzugefügt. Danach haben wir die Methode reverseOrder() zusammen mit der Methode sort() der Klasse Collections aufgerufen und das Objekt der Klasse ArrayList übergeben, d. h. eine Liste, die die Elemente in absteigender Reihenfolge sortiert.
SortArrayListExample3.java
import java.util.*; public class SortArrayListExample3 { public static void main(String args[]) { // creating object of ArrayList class ArrayList list = new ArrayList(); // adding elements to the ArrayList list.add('Data Science'); list.add('Testing'); list.add('C#'); list.add('Basic Language'); list.add('UML'); list.add('Algorithms '); list.add('Computer Networks'); list.add('Python'); // printing the unsorted ArrayList System.out.println('Before Sorting: '+ list); // Sorting ArrayList in ascending Order // using Collection.sort() method Collections.sort(list, Collections.reverseOrder()); // Print the sorted ArrayList System.out.println('After Sorting: '+ list); } }
Ausgabe:
Before Sorting: [Data Science, Testing, C#, Basic Language, UML, Algorithms, Computer Networks, Python] After Sorting: [UML, Testing, Python, Data Science, Computer Networks, C#, Basic Language, Algorithms]
SortArrayListExample4.java
import java.util.*; public class SortArrayListExample4 { public static void main(String args[]) { //creating an object of ArrayList class ArrayList list = new ArrayList(); list.add(566); list.add(230); list.add(123); list.add(110); list.add(689); list.add(12); list.add(95); //printing ArrayList before sorting System.out.println('ArrayList Before Sorting:'); for(int marks: list) { System.out.println(marks); } //sorting ArrayList in descending order Collections.sort(list, Collections.reverseOrder()); //printing ArrayList after sorting System.out.println('ArrayList After Sorting:'); for(int marks: list) { System.out.println(marks); } } }
Ausgabe:
ArrayList Before Sorting: 566 230 123 110 689 12 95 ArrayList After Sorting: 689 566 230 123 110 95 12