Tri d'un tableau bidimensionnel par une colonne
En Java, trier un tableau bidimensionnel en fonction d'une colonne spécifique est une pratique courante tâche qui nécessite une compréhension des manipulations de tableaux et des techniques de tri.
Énoncé du problème :
Étant donné un tableau bidimensionnel contenant des données, où la première colonne représente un horodatage et la deuxième colonne est une chaîne, l'objectif est de trier le tableau par ordre croissant en fonction des horodatages de la première colonne.
Détails de mise en œuvre :
Pour trier efficacement le tableau, nous utilisons la méthode Arrays.sort(), qui est très efficace pour trier les tableaux en Java. Pour les critères de tri, nous définissons une implémentation de Comparator personnalisée qui compare les horodatages dans la première colonne des éléments du tableau.
<code class="java">class TimestampComparator implements Comparator<String[]> { @Override public int compare(String[] a, String[] b) { return a[0].compareTo(b[0]); } }</code>
Dans la méthode principale, nous créons un tableau bidimensionnel, l'initialisons avec des données , puis triez-le à l'aide du comparateur personnalisé :
<code class="java">String[][] data = {...}; Arrays.sort(data, new TimestampComparator());</code>
Extrait de code :
<code class="java">import java.util.Arrays; import java.util.Comparator; public class ArraySorter { public static void main(String[] args) { String[][] data = {...}; Arrays.sort(data, new Comparator<String[]>() { @Override public int compare(String[] a, String[] b) { return a[0].compareTo(b[0]); } }); for (String[] row : data) { System.out.println(row[0] + " " + row[1]); } } }</code>
Sortie :
Le tableau trié sera imprimé au format :
timestamp message
où les horodatages sont classés par ordre chronologique croissant.
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!