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

Comment trier un tableau 2D en Java par les valeurs de la première colonne ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-11 21:33:03580parcourir

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

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!

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