Maison >Java >javaDidacticiel >Comment trier un tableau 2D en Java par les valeurs de la première colonne ?
Tri d'un tableau 2D en fonction des valeurs de la première colonne à l'aide de Java Arrays.sort
En Java, trier un tableau 2D en fonction des valeurs d'un une colonne spécifique peut être obtenue en utilisant la méthode surchargée Arrays.sort(T[] a, Comparator c) qui accepte un Comparator comme deuxième argument.
Considérons l'exemple suivant, où nous avons un tableau 2D myArr contenant des paires de doubles :
double[][] myArr = new double[mySize][2]; // populate myArr with data
Pour trier ce tableau en fonction des valeurs de la première colonne, nous pouvons utiliser le comparateur interface pour définir une règle de comparaison personnalisée :
java.util.Comparator<double[]> comparator = new java.util.Comparator<double[]>() { public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } };
Nous pouvons ensuite passer ce Comparator au Arrays.sort method :
java.util.Arrays.sort(myArr, comparator);
Alternativement, dans Java 8 ou version ultérieure, nous pouvons utiliser une fonction lambda au lieu de la classe interne anonyme pour le Comparator :
Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));
Après le tri, le myArr sera être triés en fonction des valeurs de la première colonne. Le résultat sera :
[ {1.0, 5.0}, {12.0, 100.6}, {12.1, 0.85}, {13.0, 1.55} ]
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!