Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1075 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Remplir une hastable à partir d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplir une hastable à partir d'un fichier

n°949103
Mylies
Posté le 08-01-2005 à 13:33:14  profilanswer
 

Bonjour tout le monde!
 
Je vous expose mon problème. J'ai un fichier de string que j'ai séparé par un token qui est l'espace et je voudrais mettre chaque string(ici variable triplet) dans une hastable.
Comment puis-je faire?  
 
Merci de votre réponse.
 
 
Voici une partie du code :
 
Hashtable hashTriplets = new Hashtable();
....
while((uneLigne = fluxTampon.readLine())!= null)
              {
                  StringTokenizer st = new StringTokenizer(uneLigne," " );
                  System.out.println("voici la séquence d'entrée : " +uneLigne);
                                           
                       
                                     
                  while (st.hasMoreTokens())                
                  {
                   
                  String triplet = st.nextToken();
                   
                  RemplirHashtable /*this is the question*/
                                   
                  }  
                     
            }
               
              fluxTampon.close();
              fluxFichier.close();
          }
          catch(IOException e)
          {
              e.printStackTrace();
          }

mood
Publicité
Posté le 08-01-2005 à 13:33:14  profilanswer
 

n°949104
benou
Posté le 08-01-2005 à 13:40:53  profilanswer
 

ben ca dépend comment tu veux la remplir ...
tu veux mettre quoi en clef et quoi en valeur dans la HashTable ?
 
(utilise plutot une HashMap, et en la déclarant en tant que Map)


---------------
ma vie, mon oeuvre - HomePlayer
n°949105
benou
Posté le 08-01-2005 à 13:41:22  profilanswer
 

la méthode pour ajouter un couple clef/valeur dans une Map c'est map.put(clef, valeur)


---------------
ma vie, mon oeuvre - HomePlayer
n°949184
Mylies
Posté le 08-01-2005 à 15:12:30  profilanswer
 

Dans mon fichier j'ai par exemple : abc gdc abc aef adf (etc)
 
En fait je veux avoir à la fin la liste de tout les triplets et leurs occurences
 
J'ai fait :  
 
 while (st.hasMoreTokens())                
                  {
                   
                  String triplet = st.nextToken();
                   
                  /*Après séparation du triplet je veux le mettre dans ma hashtable
                   
                  nombreTriplets++;
                  Object key = new Object(nombreTriplets);
                  hashTriplets.put(key,triplet);
                  System.out.println(nombreTriplets+" : "+triplet);
                                     
                 
                  }  
                   
                  System.out.println("nombre total de triplets :" +nombreTriplets);
              }
 
Mais la conversion de types est incompatible...comment y remédier?

n°949192
the real m​oins moins
Posté le 08-01-2005 à 15:18:52  profilanswer
 

Properties.load [:dawa]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949198
Mylies
Posté le 08-01-2005 à 15:26:39  profilanswer
 

Properties.load?
ok
vais voir si jpeux faire quelque chose avec ca  
 
merci benou et real moins moins

n°949200
the real m​oins moins
Posté le 08-01-2005 à 15:27:55  profilanswer
 

non mais en fait je crois que j'avais pu lu tout ton probleme...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949201
the real m​oins moins
Posté le 08-01-2005 à 15:28:39  profilanswer
 

tu esperes faire quoi là:

                 Object key = new Object(nombreTriplets);

???


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949204
Mylies
Posté le 08-01-2005 à 15:34:14  profilanswer
 

heu j'espérais mettre le nombre de triplets en clé...

n°949206
the real m​oins moins
Posté le 08-01-2005 à 15:37:39  profilanswer
 

Mylies a écrit :

heu j'espérais mettre le nombre de triplets en clé...


et y'a un constructeur de la classe Object qui prend un int? tu devrais pas utiliser un objet plus adequat?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 08-01-2005 à 15:37:39  profilanswer
 

n°949215
Mylies
Posté le 08-01-2005 à 15:45:21  profilanswer
 

ben nan justement y'a pas d'objet qui prend de int. Le truc ce que dans la hashtable on doit stocker des objets et c'est la tout le problème...

n°949218
the real m​oins moins
Posté le 08-01-2005 à 15:47:35  profilanswer
 
n°949225
benou
Posté le 08-01-2005 à 16:07:22  profilanswer
 

Mylies a écrit :

Dans mon fichier j'ai par exemple : abc gdc abc aef adf (etc)
 
En fait je veux avoir à la fin la liste de tout les triplets et leurs occurences


si c'est une Liste que tu veux, utilise une List (ArrayList par exemple). Tu pourras calculer leur occurence après coup ...
 
si tu veux le faire au fur et à mesure, tu peux effectivement le faire avec une Map en associant un triplet (String) au nombre d'occurence déjà trouvées (Integer).
Mais la c'est plus de l'algorythmie que du java ... je te laisse chercher. Si tu trouves vraiment pas je te filerai la soluce.
Dans un premier temps, essaye de bien comprendre ce que c'est qu'une Map


---------------
ma vie, mon oeuvre - HomePlayer
n°949235
Mylies
Posté le 08-01-2005 à 16:33:29  profilanswer
 

Je vais essayer avec la map car j'aurais besoin de faire d'autres manip. Sur tes bons conseils  vais lire la doc sur ce que c'est qu'une Map.
merci.

n°949239
lorill
Posté le 08-01-2005 à 16:54:36  profilanswer
 

the real moins moins a écrit :

non mais en fait je crois que j'avais pu lu tout ton probleme...


ben si, ca me semble bien Properties.load(). juste remplacer l'espace par un "=" si possible et le tour est joué

n°949263
benou
Posté le 08-01-2005 à 17:36:17  profilanswer
 

lorill a écrit :

ben si, ca me semble bien Properties.load(). juste remplacer l'espace par un "=" si possible et le tour est joué


avec quoi comme valeur ?
et à mon avis c'est pas lui qui décide du format de son fichier (ca ressemble à un exo)


---------------
ma vie, mon oeuvre - HomePlayer
n°949372
the real m​oins moins
Posté le 08-01-2005 à 23:23:12  profilanswer
 

lorill a écrit :

ben si, ca me semble bien Properties.load(). juste remplacer l'espace par un "=" si possible et le tour est joué

je sais pas, un peu plus loin j'ai cru comprendre en lisant entre les lignes qu'il voulait stocker une map <Integer count, String s>


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949937
Mylies
Posté le 10-01-2005 à 13:07:37  profilanswer
 

J'ai trouvé l'algo mais j'ai utilisé une hashtable et pas une hashmap. D'après ce que j'ai lu les méthodes sont identiques. La seule différence c'est que Hashmap est plus rapide mais non thread-safe. ca veut dire quoi non thread-safe svp?

n°950177
benou
Posté le 10-01-2005 à 17:19:12  profilanswer
 

thread safe = tu peux t'en servir depuis 2 threads différents (en même temps) sans que ca pose problême.
 
de toute façon, que ce soit une hashmap ou une hashtable, elle devrait être déclarée en temps que Map.


---------------
ma vie, mon oeuvre - HomePlayer
n°950878
LeMicky
Posté le 11-01-2005 à 16:21:25  profilanswer
 

Je pense surtout que ta clé ne devrait pas être le nombre d'occurence...mais plutôt la chaîne de caratère et la valeur le nombre d'occurence de la dite chaîne. En bref :
tab("abc" )=>3
tab("gfd" )=>5 etc...
Comme ça tu connais combien d'occurence de chaque triplet tu as. Ensuite, si tu veux le nombre de triplets différents, c'est la taille de ton tableau de keys, et pour avoir le nombre total de triplets (avec les doublons), c'est la somme de toutes les valeurs.

n°950899
benou
Posté le 11-01-2005 à 16:39:48  profilanswer
 

bha c'est déjà ce que j'ai conseillé au dessus ...


---------------
ma vie, mon oeuvre - HomePlayer
n°953631
Mylies
Posté le 15-01-2005 à 16:39:40  profilanswer
 

Vi c'est bien ce que j'ai fait merci. Sauf que pour le nombre total d'occurence j'ai juste fait une incrémentation avec les token.
 
Merci à vous!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Remplir une hastable à partir d'un fichier

 

Sujets relatifs
Jte défi de remplir un tableau![C#] Odbc, fichier binaire
Pbs de flux dans un fichierPbs structure en liste chainée et manip de fichier
[FONT] Format Fichier PCFFonction pour extraire nom d'un fichier
Enlever des lignes dans un fichierImpossible de mettre un identifiant de fichier dans une variable !
SQL - pb de Bulk Insert depuis un fichier txtenregister un objet dans un fichier
Plus de sujets relatifs à : Remplir une hastable à partir d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR