Tri d'un tableau java

Résolu
taguimando Messages postés 3 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 19 octobre 2011 - 14 oct. 2011 à 14:27
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 26 oct. 2011 à 07:55
bonjour
il ya peu de temps j'ai bon en java mais depuis quelques mois faute de pratique, je peine avec un tout petit programme.

En fait, j'ai un fichier txt constitué de lignes. Mais ces lignes peuvent se repeter. Mon programme devrait consister à nettoyer le fichier de ces doublons.
D'abord, je separe chaque ligne du fichier et je le met dans un tableau. j'obtiens donc un tableau rempli de toutes les lignes du fichier.
je prends ensuite le premier element du tableau, je verifie s'il n'existe pas dans la suite du tableau. S'il existe, je fais remonter toutes les lignes suivantes.

Aussi sipmle que ça. Mais je retrouve quand meme quelques doublons. je pense alors que c'est un "break" ou un "continue" qu'il faut quelque part, je sais pas où;

voici la partie du tri:
r=0; k=longueur_DU_TABLEAU
while (r<k){
String CHAINE=tab[r];
for(t=r+1;t<k;t++){
if(CHAINE.equals(tab[t])){ // ON ECRASE D'ABORD LE PREMIER DOUBLON
// EN REMONTANT TOUT LE TABLEAU VERS LE HAUT
for(a=t+1;a<k;a++){tab[a]=tab[a+1];}
k--; //ON DECREMENT "k" CAR LE TABLEAU QUI NOUS
} // INTERESSE AURA POUR LONGUEUR k-1

}
r++;}//on incremente "r" pour remonter dans la boucle.

mais ça bloque.
help!help!help!help!help!help! :(
A voir également:

6 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
14 oct. 2011 à 16:04
Bonjour,

//Le tableau sur lequel tu veux supprimer les doublons
Object[] tableauEntree;
Set set = new HashSet() ;
set.addAll(Arrays.asList(tableauEntree)) ;
//Le resultat
Object[] resultatSansDoublons = new ArrayList(set).toArray();
3
taguimando Messages postés 3 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 19 octobre 2011
17 oct. 2011 à 10:02
bonjour
ça marche presque mais à la compilation ça m'affiche sous JGrasp le message suivant:
Note: Doublons.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

pourtant la methode addAll n'est pas obsolette comme je connais.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
17 oct. 2011 à 12:10
Tu compiles comment ?

Trouves un ide qui le fasse pour toi, sans ca, tu auras souvent des erreurs et tu perdras bêtement du temps. Eclipse ou NetBeans sont gratuits. Je te conseil éclipse.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
17 oct. 2011 à 12:12
Et je n'ai pas défini les types génériques de Set et HashSet, c'est certainement ce qui pose problème à ton compilateur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
taguimando Messages postés 3 Date d'inscription lundi 26 avril 2010 Statut Membre Dernière intervention 19 octobre 2011
19 oct. 2011 à 10:29
de toutes façons ça marche meme avec le message d'avertissement. l'operation est unsafe mais le resultat est correct. Sauf que le tri est randomisé mais avec l'interface comparable j'ai essayé de reordonner.
Merci beaucoup

un tien vaut mieux que deux tu l'auras. lol!
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
26 oct. 2011 à 07:55
J'ai accepté la réponse, essaye d'y penser la prochaine fois.

a+
0