Maison >Java >javaDidacticiel >Comment trier un tableau 2D en Java à l'aide d'Arrays.sort et de comparateurs ?

Comment trier un tableau 2D en Java à l'aide d'Arrays.sort et de comparateurs ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-11 09:34:03235parcourir

How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

Tri de tableaux 2D en Java à l'aide d'Arrays.sort

Une façon de trier un tableau 2D en fonction des valeurs de sans implémenter votre propre tri L'algorithme consiste à utiliser la méthode surchargée Arrays#Sort(T[] a, Comparator c).

double[][] array = {
        {1, 5},
        {13, 1.55},
        {12, 100.6},
        {12.1, .85}
};

java.util.Arrays.sort(array, new java.util.Comparator<double[]>() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
});

Cette méthode prend un Comparator comme deuxième argument, vous permettant de définir vos propres critères de tri. Dans ce cas, le comparateur que nous avons fourni compare le premier élément de chaque tableau double[] et renvoie un entier indiquant s'il est inférieur, supérieur ou égal à 0.

Utilisation des fonctions Lambda dans Java 8

Java 8 introduit les fonctions lambda, qui fournissent un moyen concis de définir des comparateurs. Nous pouvons réécrire le code précédent en utilisant une fonction lambda comme suit :

Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));

Cette fonction lambda prend un tableau double[] comme entrée et renvoie la valeur du premier élément sous forme de double. En triant le tableau à l'aide de ce comparateur, nous obtenons le résultat souhaité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn