Alphabetische Sortierung einer Liste in Java
-
Sortieren einer Liste mit der Methode
Collections.sort()
in Java -
Sortieren einer
Liste
mit der Methodelist.stream().sorted()
in Java 8 -
Sortieren einer
Liste
mit der Guava-Bibliothek in Java -
Sortieren einer
Liste
mit demComparator.naturalOrder()
in Java -
Sortieren einer
Liste
mit der KlasseString
in Java
Dieses Tutorial stellt vor, wie Sie eine Liste von Elementen in Java alphabetisch sortieren.
List
ist ein linearer Datentyp, der verwendet wird, um Elemente eines ähnlichen Typs in Java zu speichern. In Java ist List
eine Schnittstelle und ArrayList
ist ihre Implementierungsklasse.
Wir können eine Liste
auf verschiedene Arten sortieren: Collections
-Klasse, String
-Klasse, Google Guava-Bibliothek usw. Lassen Sie uns anhand einiger Beispiele verstehen.
Sortieren einer Liste mit der Methode Collections.sort()
in Java
Die Collections
ist eine Klasse im Paket java.util
, die mehrere Methoden zum Sammeln von Daten bereitstellt. Es bietet eine sort()
-Methode zum Sortieren der Listenelemente.
Hier haben wir diese Methode verwendet, um die Liste alphabetisch zu sortieren. Siehe das Beispiel unten.
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
Collections.sort(list);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Ausgabe:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Die sort()
-Methode hat eine überladene Version, die ein zusätzliches Argument benötigt, um Elemente ohne Berücksichtigung der Groß-/Kleinschreibung zu sortieren. Sehen Sie sich das Beispiel unten an, in dem wir diese Methode verwendet haben, und sie funktioniert gut.
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Ausgabe:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sortieren einer Liste
mit der Methode list.stream().sorted()
in Java 8
Verwenden Sie das folgende Codebeispiel, wenn Sie mit Java 8 oder höher arbeiten. Hier haben wir die Stream-API verwendet, um die Elemente zu sortieren.
Siehe das Beispiel unten.
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list = list.stream().sorted().collect(Collectors.toList());
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Ausgabe:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sortieren einer Liste
mit der Guava-Bibliothek in Java
Neben dem Paket java.util
können wir die Bibliothek guava verwenden, um die Listenelemente zu sortieren. Google stellt diese Guave-Bibliothek zur Verfügung, um an Datensammlungen zu arbeiten.
Wir haben die Klasse Ordering
und ihre Methode natural()
verwendet, um die Elemente in natürlich sortierter Reihenfolge zu erhalten. Siehe das Beispiel unten.
import com.google.common.collect.Ordering;
import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list = Ordering.natural().sortedCopy(list);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Ausgabe:
[India, US,China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sortieren einer Liste
mit dem Comparator.naturalOrder()
in Java
In diesem Beispiel haben wir Comparator
verwendet, um die Liste in einer natürlichen Reihenfolge zu erhalten. Wir haben die Methode naturalOrder()
an die Methode list.sort()
übergeben.
Siehe das Beispiel unten.
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list.sort(Comparator.naturalOrder());
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Ausgabe:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Sortieren einer Liste
mit der Klasse String
in Java
Wenn Sie die Groß- und Kleinschreibung von Strings beim Sortieren von Listenelementen ignorieren möchten, verwenden Sie die Methoden compareToIgnoreCase()
und method.sort()
. Wir haben die Klassen- und Methodenreferenz String
verwendet, um die sortierten Listenelemente zu erhalten.
Siehe das Beispiel unten.
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("India");
list.add("US");
list.add("China");
list.add("Russia");
list.add("Australia");
System.out.println(list);
list.sort(String::compareToIgnoreCase);
System.out.println("-----------Sorted List------------");
System.out.println(list);
}
}
Ausgabe:
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]