Maison > Java > javaDidacticiel > Comment trier un double tableau 2D par la première colonne en Java ?

Comment trier un double tableau 2D par la première colonne en Java ?

Linda Hamilton
Libérer: 2024-11-10 18:46:02
original
345 Les gens l'ont consulté

How to Sort a 2D Double Array by the First Column in Java?

Tri de tableaux 2D à l'aide de Arrays.sort() de Java

Arrays.sort() est une fonction de tri polyvalente en Java qui peut être utilisée pour différents types de données, y compris les tableaux 2D. Dans ce scénario spécifique, nous visons à trier un double tableau 2D en fonction des valeurs de la première colonne.

Pour y parvenir sans implémenter d'algorithme de tri personnalisé, nous pouvons exploiter la version surchargée de Arrays#Sort(T [] a, Comparateur c). En fournissant un Comparator comme deuxième argument, nous pouvons spécifier nos propres critères de tri.

Pour le tableau donné :

double[][] myArr = new double[mySize][2];
// Initial array contents
Copier après la connexion
1      5
13     1.55
12     100.6
12.1   .85
Copier après la connexion

Nous pouvons créer un comparateur qui compare les premiers éléments de chaque ligne :

Comparator<double[]> comparator = new Comparator<double[]>() {
    @Override
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
};
Copier après la connexion

Ensuite, on peut trier le tableau à l'aide de ce comparateur :

java.util.Arrays.sort(myArr, comparator);
Copier après la connexion

Résultat :

1      5
12     100.6
12.1   .85
13     1.55
Copier après la connexion

JAVA-8 :

En Java 8 et versions ultérieures, nous pouvons simplifier le comparateur à l'aide d'une expression lambda :

Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));
Copier après la connexion

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 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