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

Fermé
asqwzx Messages postés 1 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 21 octobre 2007 - 21 oct. 2007 à 21:28
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 20 janv. 2009 à 12:09
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 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
8 sept. 2008 à 11:46
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 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
8 sept. 2008 à 14:17
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
Cool, je connaissais pas, merci :) !
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722 > brunettia
20 janv. 2009 à 12:09
welcome ;-)
0