Tri alphabétique d'un tableau

Fermé
RIRO - Modifié par RIRO le 27/03/2015 à 22:51
 RIRO - 27 mars 2015 à 23:54
Bonjour,

j'ai un tableau rempli par des noeuds je veux aprés chaque ajout d'une nouvelle ligne le tableau sera trié ,ssvp je veux une méthode sans cliquer sur l'entéte du tableau çad tri automatique en prenant compte du Majus et Minis pendant le tri
Merci d'avance (java)
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
27 mars 2015 à 23:04
Bonjour,

La méthode java.util.Arrays.sort fera tout pour toi dès lors que tu lui donnes la méthode pour comparer deux noeuds...
0
merci bien KX pour ton intéret,
le tableau est rempli par des adresses sous formes noeud/nodeB/adresseIP j'ai pas aucune methode pour comparer les noeuds ,si vous pouvez préciser mieux je serais trééééééééés reconnaissante
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
27 mars 2015 à 23:23
En gros, si tu as une classe Toto, tu dois faire un Comparator<Toto> qui a une seule méthode int compare(Toto toto1, Toto2) qui renvoie <0 si toto1<toto2, =0 si toto1=toto2, >0 si toto1>toto2.

Voir : https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html

Exemple :

import java.util.Arrays;
import java.util.Comparator;

Toto[] tab = new Toto[10];
//...
Arrays.sort(tab, new Comparator<Toto>() {
    public int compare(Toto toto1, Toto toto2) {
        return toto1.bidule() - toto2.bidule(); // par exemple
    }
});

Remarque : en Java 8 cela se simplifie :

Toto[] tab = new Toto[10];
//...
Arrays.sort(tab, (toto1, toto2) -> toto1.bidule() - toto2.bidule());

Explications : https://www.commentcamarche.net/contents/2866-java-les-structures-fonctionnelles
0
ça marche pas KX ! le probléme c'est que jpeux pas poster mon code pour que tu comprends mieux mon soucis !!
0