Trier un tableau dans l'ordre croissant et décoissant en Java

Dans ce tutoriel, nous allons étudier les méthodes de tri d'un tableau dans l'ordre croissant et décroissant en Java. On va vous montrer comment utiliser la méthode sort() pour accomplir la tâche de tri.

Plusieurs méthodes en Java vous permettent de trier vos tableaux et pour utiliser ces méthodes de tri de tableaux, vous devrez avant tout importer une librairie nommé Arrays. Vous le faites avec le mot clé import:

import java.util.Arrays;
Maintenant que vous avez importé la librairie Arrays, vous pouvez appeler la méthode sort(). C'est très facile:

Arrays.sort(monTableau);
Voici un code pour essayer:

import java.util.Arrays;

public class ArraysTest {

public static void main(String[] args) {

// initialiser le tableau
int array[] = {11, 34, 23, 62, 6, 41};

// afficher tous les entiers avant le tri
for (int entier : array) {
System.out.println("nombre: " + entier);
}

// trier le tableau
Arrays.sort(array);

// lafficher tous les entiers après le tri
System.out.println("Tableau trié\n");
for (int entier : array) {
System.out.println("nombre: " + entier);
}
}
}
La boucle for à la fin va imprimer en sortie toutes les valeurs dans chaque position du tableau. Quand le code est exécuté, ça donne ce résultat:

nombre: 11
nombre: 34
nombre: 23
nombre: 62
nombre: 6
nombre: 41
Tableau trié
nombre: 6
nombre: 11
nombre: 23
nombre: 34
nombre: 41
nombre: 62
Comme vous pouvez voir, le tableau a été bien trié dans l'ordre croissant.
Le tri dans l'ordre décroissant est seulement possible si vous écrivez votre propre code ou de convertir le tableau en un tableau d'objets, ensuite importer la librairie Collections et invoquer la méthode Collections.sort().

Voici un code qui fait ça:

import java.util.Arrays;
import java.util.Collections;

public class Tri {

public static void main(String[] args) {

// initialiser le tableau
int array[] = {8, 77, 15, 24, 46, 13};

// créer un tableau qui contient des objets Integer
Integer[] integerArray = new Integer[array.length];
// afficher tous les entiers avant le tri
// copier tous les valeurs dans un tableau de type Integer
for (int i=0; i < array.length; i++) {
System.out.println("nombre: " + array[i]);
//instancier un nouveau Integer
integerArray[i] = new Integer(array[i]);
}

// trier le tableau, puis l'inverser
Arrays.sort(integerArray, Collections.reverseOrder());

// lafficher tous les entiers après le tri
System.out.println("Tableau trié\n");
for (int entier : integerArray) {
System.out.println("nombre: " + entier);
}
}
}
La compilation et l'exécution de ce code donne le résultat suivant:

nombre: 8
nombre: 77
nombre: 15
nombre: 24
nombre: 46
nombre: 13
Tableau trié

nombre: 77
nombre: 46
nombre: 24
nombre: 15
nombre: 13
nombre: 8
Références:
Java.util.Arrays.sort(int[]) Method