Sortieren einer Liste in Java
-
Sortieren einer Liste in Java mit der Methode
Collections.sort()
-
Verwendung der Methode
Collections.reverseorder()
zum Sortieren einer Liste in Java -
Verwendung der Methode
Stream.sorted()
zum Sortieren einer Liste in Java -
Verwendung der Methode
Comparator.naturalOrder()
zum Sortieren einer Liste in Java
Eine Liste ist eine geordnete Sammlung und kann Elemente in beliebiger Reihenfolge speichern. Wir können traditionelle Algorithmen auf eine Liste anwenden.
Dieses Tutorial zeigt, wie Sie eine Liste in Java mit verschiedenen Funktionen sortieren.
Sortieren einer Liste in Java mit der Methode Collections.sort()
Wir können die Funktion sort()
aus der Klasse Collection
verwenden, um eine Liste zu sortieren. Wir können das Listenobjekt nehmen und es ändert die Reihenfolge der Elemente. Es sortiert die Liste in aufsteigender Reihenfolge.
Zum Beispiel,
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
Collections.sort(slist);
System.out.println("After Sorting: " + slist);
}
}
Ausgabe:
After Sorting: [1, 2, 4, 5, 6, 8, 9]
Wir können sehen, dass die ursprüngliche Liste im obigen Code geändert und in der entsprechenden Reihenfolge sortiert wird.
Beachten Sie, dass die Liste die gleichen Elementtypen enthalten sollte. andernfalls wird CLassCastException
ausgelöst.
Verwendung der Methode Collections.reverseorder()
zum Sortieren einer Liste in Java
Wir verwenden die Methode Collections.reverseorder()
, um die ArrayList absteigend zu sortieren. Wir verwenden diese Methode nicht direkt. Zuerst wird mit der Methode Collections.sort()
aufsteigend sortiert und dann mit der Methode Collections.reverseorder()
absteigend sortiert.
Siehe den Code unten.
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
Collections.sort(slist, Collections.reverseOrder());
System.out.println("After Sorting: " + slist);
}
}
Ausgabe:
After Sorting: [9, 8, 6, 5, 4, 2, 1]
Wir haben im obigen Code eine Liste erstellt und diese dann mit der Methode Collections.sort()
sortiert. Anschließend wird mit der Methode Collections.reverseorder()
absteigend sortiert.
Verwendung der Methode Stream.sorted()
zum Sortieren einer Liste in Java
Die Funktion sorted()
ist in der Schnittstelle Stream
definiert, die in java.util package
vorhanden ist. Mit dieser Methode wird die Liste in aufsteigender Reihenfolge sortiert. Wenn die Elemente in der Liste nicht vom gleichen Typ sind, dann wirft es java.lang.ClassCastEcxeption
.
Hier verwenden wir die Funktion stream()
, um die Sammlung von Elementen in der Liste zu verwalten, collect()
empfängt und speichert die Elemente und die Funktion tolist()
gibt die endgültige Liste in sortierter Form zurück Auftrag.
Zum Beispiel,
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
List<Integer> sortedList = slist.stream().sorted().collect(Collectors.toList());
System.out.println("After Sorting: " + sortedList);
}
}
Ausgabe:
After Sorting: [1, 2, 4, 5, 6, 8, 9]
Beachten Sie, dass im obigen Beispiel eine neue Liste erstellt wird.
Verwendung der Methode Comparator.naturalOrder()
zum Sortieren einer Liste in Java
Die Schnittstelle Comparator
in Java kann die Objekte der vom Benutzer erstellten Klassen nach dem gewünschten Datenelement sortieren. Wir können damit auch Listen sortieren.
Die Funktion naturalOrder()
sortiert die Elemente in aufsteigender Reihenfolge.
Siehe den unten angegebenen Code.
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
slist.sort(Comparator.naturalOrder());
System.out.println("After Sorting: " + slist);
}
}
Ausgabe:
After Sorting: [1, 2, 4, 5, 6, 8, 9]
Null-Elemente werden mit dieser Methode nach oben sortiert. Wenn es um Alphabete geht, werden Wörter, die mit Großbuchstaben beginnen, zuerst sortiert und dann die Wörter, die mit Kleinbuchstaben beginnen, in aufsteigender Reihenfolge.
Wir können die Funktion reverseOrder()
verwenden, wie oben beschrieben, um in absteigender Reihenfolge zu sortieren.
Zum Beispiel,
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
slist.sort(Comparator.reverseOrder());
System.out.println("After Sorting: " + slist);
}
}
Ausgabe:
After Sorting: [9, 8, 6, 5, 4, 2, 1]