Tri d'un tableau java [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
19 octobre 2011
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
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! :(

6 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
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();
Messages postés
3
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
19 octobre 2011

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.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
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.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
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.
Messages postés
3
Date d'inscription
lundi 26 avril 2010
Statut
Membre
Dernière intervention
19 octobre 2011

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!
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
308
J'ai accepté la réponse, essaye d'y penser la prochaine fois.

a+