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
Libérer: 2024-11-11 09:34:03
original
204 Les gens l'ont consulté

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]);
    }
});
Copier après la connexion

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]));
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal