Maison > Java > javaDidacticiel > Comment trier un tableau 2D en Java à l'aide de Arrays.sort ?

Comment trier un tableau 2D en Java à l'aide de Arrays.sort ?

Patricia Arquette
Libérer: 2024-11-13 01:40:02
original
996 Les gens l'ont consulté

How to Sort a 2D Array in Java Using Arrays.sort?

Tri d'un tableau 2D à l'aide d'Arrays.sort

Le tri d'un tableau multidimensionnel peut être une tâche complexe. Cependant, en utilisant la méthode Arrays.sort de Java, il est possible d'y parvenir efficacement.

Plus précisément, la solution implique d'utiliser la méthode surchargée Arrays#Sort(T[] a, Comparator c), qui prend un Comparator comme son deuxième argument. Un comparateur est un objet qui définit la manière dont les objets sont comparés. Dans ce cas, nous souhaitons comparer les valeurs du premier élément de chaque sous-tableau.

Pour implémenter cela, créez un comparateur qui implémente l'interface java.util.Comparator et remplace sa méthode compare(). Cette méthode doit comparer les premiers éléments des deux tableaux et renvoyer -1, 0 ou 1 selon l'ordre dans lequel ils doivent apparaître.

Par exemple, considérons le tableau 2D suivant :

double[][] myArr = {
  {1, 5},
  {13, 1.55},
  {12, 100.6},
  {12.1, .85}
};
Copier après la connexion

Pour trier ce tableau par ordre croissant en fonction des valeurs du premier élément de chaque sous-tableau, utilisez le code suivant :

java.util.Arrays.sort(myArr, new java.util.Comparator<double[]>() {
  public int compare(double[] a, double[] b) {
    return Double.compare(a[0], b[0]);
  }
});
Copier après la connexion

Cela produira le tableau trié suivant :

[
  {1, 5},
  {12, 100.6},
  {12.1, .85},
  {13, 1.55}
]
Copier après la connexion

Dans Java 8 et versions ultérieures, vous pouvez utiliser des lambdas pour simplifier le comparateur :

Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
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