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
Linda Hamiltonoriginal
2024-11-10 18:46:02303parcourir

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
1      5
13     1.55
12     100.6
12.1   .85

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]);
    }
};

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

java.util.Arrays.sort(myArr, comparator);

Résultat :

1      5
12     100.6
12.1   .85
13     1.55

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]));

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