éliminer la redondance dans un fichier texte ! [JAVA] - Java - Programmation
Marsh Posté le 28-01-2004 à 20:31:04
ReplyMarsh Posté le 28-01-2004 à 20:44:43
Est-ce que l'ordre des lignes doit être conservé?
Si l'ordre n'est pas important, alors il suffit de placer les lignes les unes après les autres dans un Set.
Un Set garantit qu'on n'a aucun doublon.
Code :
|
Marsh Posté le 28-01-2004 à 20:50:26
ben le probleme c que c variable mais il ne sera jamais tres gros je le situe dans les environs de maximum 1000 lignes de 50 caracteres...
cela change t'il qqchose?
Marsh Posté le 28-01-2004 à 22:10:26
Bufff a écrit : Est-ce que l'ordre des lignes doit être conservé?
|
au pire t'y ajoutes une variable d'ordre
Marsh Posté le 28-01-2004 à 23:04:01
a priori l'ordre n'a pas d'importance merci bien je vous remercie je suis debutant alors il va falloir que je digère un peu le coup du :
for (Iterator it = resultat.iterator(); it.hasNext()
ca sort d'ou?
Marsh Posté le 28-01-2004 à 23:28:01
sort < fichier | uniq
pour la variable d'ordre pour avoir un tri stable, faut utiliser la méthode DSU (bien connu des programmeurs python) Decorate-Sort-Undecorate.
ça ajoute juste N à ta complexité ce qui est peu. en gros avant de tout balancer dans le hashset, il faut tranformer les entrées
data -> [data, indice] -> traitement -> data
et le voilà ton tri stable.
Marsh Posté le 28-01-2004 à 23:31:02
arf...
faudrait que je m'achète un bon bouquin d'algoritmie ou de maths appliquées à la prog...les algos dans ce style faut maitriser je pense...
-->sinon oui si ct une db en sql c torché en une requete...
Marsh Posté le 28-01-2004 à 23:32:16
roievil a écrit : ben le probleme c que c variable mais il ne sera jamais tres gros je le situe dans les environs de maximum 1000 lignes de 50 caracteres... |
oui : t'es fichiers sont relativement petit donc tu peux te permettre de stocker toutes les lignes en mémoire (dans un set par exemple comme le disait buff)
Marsh Posté le 28-01-2004 à 20:11:33
Salut quel est le moyen le plus simple d'éliminer la redondance en JAVA dans un fichier texte du type suivant :
L2B0200_A16_DLS132_064.ab1 CHROMAT_FILE: L2B0200_A16_DLS132_064
L2B0205_N07_DLS144_020.ab1 CHROMAT_FILE: L2B0205_N07_DLS144_020
L2B0202_B09_DLS134_047.ab1 CHROMAT_FILE: L2B0202_B09_DLS134_047
L2B0204_C17_DLS146_077.ab1 CHROMAT_FILE: L2B0204_C17_DLS146_077
L2B0202_B09_DLS134_047.ab1 CHROMAT_FILE: L2B0202_B09_DLS134_047
.
.
.
L2B0204_C17_DLS146_077.ab1 CHROMAT_FILE: L2B0204_C17_DLS146_077
c'est a dire enlever toutes les lignes quis ont identiques
Bon moi j'ai pensé a ça mais je n'ai aps testé je veux juste savoir si y a pas de meilleur méthode ce qui m'embête c de fixer une valeur a b.mark(valeur)
merci