Trier une liste par ordre alphabétique en Java

Mohammad Irfan 12 octobre 2023
  1. Trier une Liste à l’aide de la méthode Collections.sort() en Java
  2. Trier une Liste en utilisant la méthode list.stream().sorted() en Java 8
  3. Trier une Liste à l’aide de la bibliothèque Guava en Java
  4. Trier une Liste en utilisant le Comparator.naturalOrder() en Java
  5. Trier une Liste à l’aide de la classe String en Java
Trier une liste par ordre alphabétique 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]

Article connexe - Java List