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
Libérer: 2024-11-11 21:33:03
original
579 Les gens l'ont consulté

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
Copier après la connexion

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]);
    }
};
Copier après la connexion

Nous pouvons ensuite passer ce Comparator au Arrays.sort method :

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

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]));
Copier après la connexion

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}
]
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!

source:php.cn
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