Tri d'un tableau de chaînes 2D par une colonne spécifique
En Java, nous pouvons rencontrer des situations où nous devons organiser les données stockées dans deux tableau dimensionnel (2D). Pour effectuer ce tri efficacement, nous pouvons utiliser la méthode Arrays.sort() avec un comparateur personnalisé.
Considérons l'exemple suivant : nous avons un tableau 2D de chaînes où la première colonne représente un horodatage et la seconde La colonne contient un message. Notre objectif est de trier le tableau en fonction des horodatages par ordre croissant.
Pour y parvenir, nous pouvons définir une classe qui implémente l'interface Comparator. Cette classe fournira la logique pour comparer les éléments du tableau :
<code class="java">class TimestampComparator implements Comparator<String[]> { @Override public int compare(String[] entry1, String[] entry2) { return entry1[0].compareTo(entry2[0]); } }</code>
Dans ce comparateur, nous extrayons les valeurs d'horodatage de chaque entrée du tableau et les comparons à l'aide de la méthode String.compareTo().
Avec notre comparateur en place, nous pouvons maintenant procéder au tri :
<code class="java">Arrays.sort(data, new TimestampComparator());</code>
Ici, les données représentent le tableau 2D d'origine.
Après le tri, les données seront organisé en fonction des horodatages de la première colonne. Le résultat résultant sera :
2009.07.25 19:54 Message R 2009.07.25 20:01 Message F 2009.07.25 20:17 Message G 2009.07.25 20:24 Message A 2009.07.25 20:25 Message B 2009.07.25 20:30 Message D 2009.07.25 21:08 Message E
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!