Maison >Java >javaDidacticiel >Comment trier un tableau bidimensionnel par une colonne de date spécifique ?

Comment trier un tableau bidimensionnel par une colonne de date spécifique ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 15:57:03355parcourir

How to Sort a Two-Dimensional Array by a Specific Date Column?

Tri d'un tableau bidimensionnel par une colonne spécifique

Aperçu du problème

Étant donné un tableau bidimensionnel contenant des lignes de données avec deux colonnes, où la première colonne représente une date au format "aaaa.MM.jj HH:mm" et la deuxième colonne est une chaîne, nous visons à trier le tableau en fonction de la première colonne.

Solution utilisant un comparateur

Pour trier le tableau, nous pouvons utiliser la méthode Arrays.sort() avec un comparateur personnalisé. Le comparateur comparera les premiers éléments de chaque ligne, qui représentent les dates.

<code class="java">import java.util.Arrays;
import java.util.Comparator;

public class ArraySorter {

    public static void main(String[] args) {
        // Input array
        String[][] data = {
                {"2009.07.25 20:24", "Message A"},
                {"2009.07.25 20:17", "Message G"},
                {"2009.07.25 20:25", "Message B"},
                {"2009.07.25 20:30", "Message D"},
                {"2009.07.25 20:01", "Message F"},
                {"2009.07.25 21:08", "Message E"},
                {"2009.07.25 19:54", "Message R"}
        };

        // Create a comparator to sort based on the first column (date)
        Comparator<String[]> comparator = Comparator.comparing(row -> row[0]);

        // Sort the array using the comparator
        Arrays.sort(data, comparator);

        // Print the sorted array
        for (String[] row : data) {
            System.out.println(row[0] + " " + row[1]);
        }
    }
}</code>

Sortie

La sortie affichera les données triées, avec des lignes disposées par ordre croissant en fonction du premier colonne (date) :

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!

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