(aide) Java, trier en ordre alphabetique O->V

asqwzx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je cherche a savoir comment je peux trier en ordre alphabetique 10 objet (de type string) place a l'interieur d<un vecteur.


pour l'instant, voici mon code :



for(int i=0;i < VectAutos.size()-2;i++){


if( ( (auto)VectAutos.elementAt( i) ).getMarque().charAt( 0) > ( (auto)VectAutos.elementAt( i+1) ).getMarque().charAt( 0) )
{


VectAutos.insertElementAt( VectAutos.elementAt(i+2), i);
VectAutos.removeElementAt( i);



}

else if( ( (auto)VectAutos.elementAt( i) ).getMarque().charAt( 1) > ( (auto)VectAutos.elementAt( i+1) ).getMarque().charAt( 1) && ( (auto)VectAutos.elementAt( i) ).getMarque().charAt( 0) == ( (auto)VectAutos.elementAt( i+1) ).getMarque().charAt( 0) )
{


VectAutos.insertElementAt( VectAutos.elementAt(i+2), i);
VectAutos.removeElementAt( i);


}


}
A voir également:

2 réponses

kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Bonjour,

Pour trier alphabétiquement, généralement ce que je fais c'est que je transforme mes tableaux, tables, etc. en 'Hashtable' qui est un objet tri automatiquement par ordre alphabétique sur la valeur des clés.
A toi de voir si tu peux passer par là où non, c'est une manière détourner de faire un tri alphabétique sans se casser la tête avec un algorithme :)
0
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   723
 
Salut,

Tu peux très bien aussi utiliser
Collections.sort(v);
pour trier ton vecteur v si tu ne veux rien modifier dans ton programme (à part le rajout de cette ligne).

Exemple:
java.util.Vector<String> v = new java.util.Vector<String>();
for (int i = 1; i <= 10; i++) {
	v.addElement(101%i + "");
}
System.out.println("v non trié:");
for (String element : v) {
	System.out.println(element);
}
java.util.Collections.sort(v);
System.out.println("v trié:");
for (String element : v) {
	System.out.println(element);
}


Avec la sortie suivante:
v non trié:
0
1
2
1
1
5
3
5
2
1
v trié:
0
1
1
1
1
2
2
3
5
5

++
0
brunettia
 
Cool, je connaissais pas, merci :) !
0
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   723 > brunettia
 
welcome ;-)
0