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

Comment trier un tableau bidimensionnel par une colonne spécifique en Java ?

Linda Hamilton
Libérer: 2024-11-03 11:14:03
original
280 Les gens l'ont consulté

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

Tri des tableaux bidimensionnels par colonne en Java

La tâche de trier un tableau bidimensionnel basé sur une colonne spécifique présente un défi unique en Java. Pour ce faire, la solution suivante approfondit les détails du problème et fournit une implémentation complète du code.

L'entrée fournie consiste en un tableau à deux dimensions où la première colonne représente une date au format "aaaa. MM.jj HH:mm" et la deuxième colonne contient des chaînes. L'objectif est de trier ce tableau par la première colonne, ce qui permet de classer les dates par ordre chronologique.

Implémentation

Le code Java fourni utilise la méthode intégrée Arrays.sort() en combinaison avec un Comparateur pour réaliser le tri souhaité. Le Comparator définit une règle pour comparer les éléments du tableau, en se concentrant spécifiquement sur la première colonne (la date). Le code compare les dates à l'aide de la méthode compareTo(), qui renvoie une valeur entière indiquant l'ordre chronologique relatif des dates.

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

public class TwoDArraySort {

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

        Arrays.sort(data, new Comparator<String[]>() {
            @Override
            public int compare(final String[] entry1, final String[] entry2) {
                final String time1 = entry1[0];
                final String time2 = entry2[0];
                return time1.compareTo(time2);
            }
        });

        for (final String[] s : data) {
            System.out.println(s[0] + " " + s[1]);
        }
    }

}</code>
Copier après la connexion

Sortie

La sortie du code fourni est la suivante suit :

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
Copier après la connexion

Cette sortie démontre que le tableau bidimensionnel a été trié avec succès par la première colonne, ce qui donne l'ordre chronologique des dates.

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