Maison  >  Article  >  Java  >  Comment trier un tableau 2D par sa première colonne en Java ?

Comment trier un tableau 2D par sa première colonne en Java ?

DDD
DDDoriginal
2024-11-12 09:24:02961parcourir

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

Tri d'un tableau 2D par la première colonne à l'aide de Arrays.sort de Java

En Java, trier un tableau 2D en fonction des valeurs du La première colonne peut être obtenue en utilisant la méthode Arrays.sort surchargée qui prend un Comparator comme deuxième argument. Ce Comparator vous permet de spécifier une logique de comparaison personnalisée pour trier les éléments du tableau.

Pour trier un tableau 2D en utilisant les valeurs de la première colonne, vous pouvez suivre ces étapes :

Créer une implémentation de Comparator qui compare les premiers éléments des sous-tableaux. Cela peut être fait en utilisant la méthode Double.compare pour comparer des valeurs doubles :

Comparator<double[]> comparator = (a, b) -> Double.compare(a[0], b[0]);

Appelez la méthode Arrays.sort avec le tableau et le Comparator comme arguments :

Arrays.sort(array, comparator);

Alternativement, si vous utilisez Java 8 ou supérieur, vous pouvez utiliser une fonction lambda pour simplifier le comparateur :

Arrays.sort(array, Comparator.comparingDouble(a -> a[0]));

Exemple :

Considérez le tableau 2D suivant myArr :

double[][] myArr = {
    {1, 5},
    {13, 1.55},
    {12, 100.6},
    {12.1, .85}
};

Après avoir trié myArr en utilisant l'approche décrite ci-dessus, il sera trié en fonction des valeurs de la première colonne :

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