Maison >Java >javaDidacticiel >Comment trier un double tableau 2D par la première colonne en 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!