Trier une liste par ordre alphabétique en Java
-
Trier une
Liste
à l’aide de la méthodeCollections.sort()
en Java -
Trier une
Liste
en utilisant la méthodelist.stream().sorted()
en Java 8 -
Trier une
Liste
à l’aide de la bibliothèque Guava en Java -
Trier une
Liste
en utilisant leComparator.naturalOrder()
en Java -
Trier une
Liste
à l’aide de la classeString
en Java
Ce tutoriel présente comment trier une liste d’éléments par ordre alphabétique en Java.
List
est un type de données linéaire utilisé pour stocker des éléments d’un type similaire en Java. En Java, List
est une interface et ArrayList
est sa classe d’implémentation.
On peut utiliser plusieurs manières de trier une List
: classe Collections
, classe String
, bibliothèque Google Guava, etc. Comprenons avec quelques exemples.
Trier une Liste
à l’aide de la méthode Collections.sort()
en Java
La Collections
est une classe du package java.util
qui fournit plusieurs méthodes pour collecter des données. Il fournit une méthode sort()
pour trier les éléments de la liste.
Ici, nous avons utilisé cette méthode pour trier la liste par ordre alphabétique. Voir l’exemple ci-dessous.
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);
}
}
Production :
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
La méthode sort()
a une version surchargée qui prend un argument supplémentaire pour trier les éléments dans un ordre insensible à la casse. Voir l’exemple ci-dessous où nous avons utilisé cette méthode, et cela fonctionne bien.
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);
}
}
Production :
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Trier une Liste
en utilisant la méthode list.stream().sorted()
en Java 8
Utilisez l’exemple de code ci-dessous si vous travaillez avec Java 8 ou supérieur. Ici, nous avons utilisé l’API stream pour trier les éléments.
Voir l’exemple ci-dessous.
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);
}
}
Production :
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Trier une Liste
à l’aide de la bibliothèque Guava en Java
Outre le package java.util
, nous pouvons utiliser la bibliothèque guava pour trier les éléments de la liste. Google fournit cette bibliothèque de goyave pour travailler sur des collections de données.
Nous avons utilisé la classe Ordering
et sa méthode natural()
pour obtenir les éléments dans un ordre trié naturel. Voir l’exemple ci-dessous.
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);
}
}
Production :
[India, US,China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Trier une Liste
en utilisant le Comparator.naturalOrder()
en Java
Dans cet exemple, nous avons utilisé Comparator
pour obtenir la liste dans un ordre naturel. Nous avons passé la méthode naturalOrder()
à la méthode list.sort()
.
Voir l’exemple ci-dessous.
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);
}
}
Production :
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]
Trier une Liste
à l’aide de la classe String
en Java
Si vous souhaitez ignorer la casse des chaînes lors du tri des éléments de la liste, utilisez les méthodes compareToIgnoreCase()
et method.sort()
. Nous avons utilisé la référence de classe et de méthode String
pour obtenir les éléments de liste triés.
Voir l’exemple ci-dessous.
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);
}
}
Production :
[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]