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

  FORUM HardWare.fr
  Programmation
  Java

  Variables variables ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variables variables ?

n°373279
BenJ9002
Posté le 27-04-2003 à 15:26:39  profilanswer
 

C'est peut etre une question con que je vais poser, mais bon ...
 
 
J'ai un petit projet en java à faire (sur la théorie des graphes) et j'aurais besoin c'utiliser des variables variables. Pour etre plus clair, j'ai créé plusieurs objets au lancement de mon programme et je veux que le programme se serve des objets selon un ordre défini par le choix de l'utilisateur au lancement.
 
Donc, comme en php, ca m'aurait bien arrangé d'utiliser des variables variables : l'objet à utiliser portant un nom défini dans un String contenu dasn l'objet précédent.
 
 :jap:

mood
Publicité
Posté le 27-04-2003 à 15:26:39  profilanswer
 

n°373286
darklord
You're welcome
Posté le 27-04-2003 à 15:34:29  profilanswer
 

Tu utilises une hashmap avec un singleton
 
Ta hashmap fait un mapping entre une clé (le nom de ta variable) et un objet (ton objet)
 
De cette manière tu peux récupérer l'objet sur base de son nom et appeller des méthodes dessus.
 
Si ce n'est pas clair, voir la javadoc de hashmap


---------------
Just because you feel good does not make you right
n°373302
BenJ9002
Posté le 27-04-2003 à 16:01:20  profilanswer
 

J'ai regardé la doc, et j'ai pas trop compris pour hashmap :/ Par contre, il y a aussi hashtable et cç resemble vraiment à ce que je veux faire.
Donc je crée une hashtable, pour chaque "ligne" de la hashtable, j'associe le string et l'objet et ca roule, c'est ça ?
 
En tous cas merci pour cette réponse si rapide :jap:

n°373313
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 27-04-2003 à 16:15:51  profilanswer
 

HashMap et Hashtable c'est exactement pareil à ceci près que si tu fais une appli multi-thread, Hashtable sera plus adaptée alors que si ton appli est mono-thread, HashMap sera plus rapide.
Donc relis la doc passke si t'as compris Hashtable et pas HashMap, c'est qu'il y a un souci [:ddr555]


Message édité par Taiche le 27-04-2003 à 16:16:24

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°373315
BenJ9002
Posté le 27-04-2003 à 16:21:35  profilanswer
 

Bon, je vines de faire mon petit truc avec hashtable et ca marche tout comme il faut :) Merci beaucoup :)
 
Pour le coup de la doc, hashtable, j'ai compris grace à l'exemple et hashmap, y a pas d'exemple et comme j'ai la flemme de lire 50 lignes d'explications en anglais, j'ai lu que l'exemple ;) Et pour le coup de la rapidité, je m'en fiche un peu (pas mal meme) pour le projet qu'on doit faire (200 lignes de code maxi en aérant bien) :whistle:

n°373613
the real m​oins moins
Posté le 27-04-2003 à 22:58:43  profilanswer
 

DarkLord a écrit :

Tu utilises une hashmap avec un singleton
 
Ta hashmap fait un mapping entre une clé (le nom de ta variable) et un objet (ton objet)
 
De cette manière tu peux récupérer l'objet sur base de son nom et appeller des méthodes dessus.
 
Si ce n'est pas clair, voir la javadoc de hashmap

il dit qu'il voit pas le rapport  :sarcastic:  
 
sinon benj9002, on t'a dit HashMap et Hashtable, c'est pareil. tu remplace l'un par l'autre dans ton code et ça fonctionnera toujours, tant que tu n'a pas besoin de la synchronization qu'apporte Hashtable ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°373684
benou
Posté le 28-04-2003 à 07:32:16  profilanswer
 

les Hashtable c'est mal !
même qu'en j'ai besoinde de synchro, je me fait mes propres blocs de synchro avec une HashMap !
 
Comment peut-on comprendre la HashTable et pas la HashMap ?  :??:


Message édité par benou le 28-04-2003 à 07:33:06

---------------
ma vie, mon oeuvre - HomePlayer
n°373855
BenJ9002
Posté le 28-04-2003 à 10:09:12  profilanswer
 

benou a écrit :

les Hashtable c'est mal !
même qu'en j'ai besoinde de synchro, je me fait mes propres blocs de synchro avec une HashMap !
 
Comment peut-on comprendre la HashTable et pas la HashMap ?  :??:  


 
J'ai juste parcouru la doc en diagonale et y avait un exemple pour hashtable et pas pour hashmap :ange:

n°373860
benou
Posté le 28-04-2003 à 10:11:06  profilanswer
 

benj9002 a écrit :


 
J'ai juste parcouru la doc en diagonale et y avait un exemple pour hashtable et pas pour hashmap :ange:  


pour info : HashTable et HashMap hérite tous les deux de l'interface Map. C'est cette interface dont il est réellement nécessaire de connaître le fonctionnement.

n°373907
BifaceMcLe​OD
The HighGlandeur
Posté le 28-04-2003 à 10:29:48  profilanswer
 

benou a écrit :

Comment peut-on comprendre la HashTable et pas la HashMap ?  :??:  


Très simple : compare les JavaDocs des 2 classes. L'une inclut un exemple, pas l'autre. Dommage, c'est la plus vieille qui est la mieux expliquée...
 
Et puis quand on n'est pas un fin connaisseur des collections et de l'objet, il faut commencer simple ; alors pour commencer, ce qu'il faut à benj, c'est un exemple simple qui marche sans avoir à lire 10 pages de docs à 3 endroits différents.


Message édité par BifaceMcLeOD le 28-04-2003 à 10:32:20
mood
Publicité
Posté le 28-04-2003 à 10:29:48  profilanswer
 

n°374072
BenJ9002
Posté le 28-04-2003 à 11:39:50  profilanswer
 

BifaceMcLeOD a écrit :


Très simple : compare les JavaDocs des 2 classes. L'une inclut un exemple, pas l'autre. Dommage, c'est la plus vieille qui est la mieux expliquée...
 
Et puis quand on n'est pas un fin connaisseur des collections et de l'objet, il faut commencer simple ; alors pour commencer, ce qu'il faut à benj, c'est un exemple simple qui marche sans avoir à lire 10 pages de docs à 3 endroits différents.


 
 :jap: Et aussi, j'ai pas envie de me faire chier pour un projet noté coeff 0,5 :D  
 
Souvenez vous quand vous avez commencer à programmer (en java ou autre ...) vous lisiez pas 200 pages de docs pour faire System.out.println("Hello World" );  
 ;)  
Enfin mon truc marche comme il faut, et j'aurais au moins appris qqch hier :)

n°374251
souk
Tourist
Posté le 28-04-2003 à 13:45:05  profilanswer
 

benj9002 a écrit :


Souvenez vous quand vous avez commencer à programmer (en java ou autre ...) vous lisiez pas 200 pages de docs pour faire System.out.println("Hello World" );  


 
ah? c'est marrant, moi, c'est quand j'ai commence a programme que je lisais les docs...  
 
enfin, Benou, tu pourrais detailler plus le probleme Hashmap/Hashtable ? pourquoi la synchro est pas bonne avec les Hashtable ? ca m'interesse, je me suis jamais pose la question, j'utilise des Hashtable quand je fais du multi thread, mais j'aimerais en savoir plus.

n°374267
darklord
You're welcome
Posté le 28-04-2003 à 13:50:42  profilanswer
 

the real moins moins a écrit :

il dit qu'il voit pas le rapport  :sarcastic:  


 
mais quoi encore ???????,


---------------
Just because you feel good does not make you right
n°374314
the real m​oins moins
Posté le 28-04-2003 à 14:18:00  profilanswer
 

DarkLord a écrit :


 
mais quoi encore ???????,

ben avec le singleton


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°374327
darklord
You're welcome
Posté le 28-04-2003 à 14:22:04  profilanswer
 

the real moins moins a écrit :

ben avec le singleton


 
oui quoi?


---------------
Just because you feel good does not make you right
n°374337
the real m​oins moins
Posté le 28-04-2003 à 14:26:47  profilanswer
 

DarkLord a écrit :


 
oui quoi?

ben rien, je ne pense pas qu'il ait specialement besoin d'un singleton pour faire son truc, c'est tout. tu sais bien que j'aime bien te charrier  :wahoo:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°374391
benou
Posté le 28-04-2003 à 14:50:52  profilanswer
 


vous faites comme vous voulez. Moi je venais juste précher la bonne parole...

n°374417
benou
Posté le 28-04-2003 à 14:56:53  profilanswer
 

souk a écrit :


enfin, Benou, tu pourrais detailler plus le probleme Hashmap/Hashtable ? pourquoi la synchro est pas bonne avec les Hashtable ? ca m'interesse


 
ben c'est pas très compliqué : chacune des méthodes de la HashTable est synchronizée => un traitement supplémentaire => plus lent.
 
Quand tu as besoin de synchronization et d'une map, souvent c'est les endroits de sycnhro snot très localisé => je préfère utiliser une HashMap et mettre moi même un bloc synchronized.
 
De plus, dès que tu veux faire des iteration sur la Map, tu es de toute façon obligé de faire un bloc de synchronization.
 
Les HashTable ont été gardé parce que trop d'appliaction les utilisaient. Mais maintenant que les HashMap existent, il n'y a plus aucune raison de s'en servir. A la rigueur, si tu veux vraiment une Map synchronizée tu peux passer ta HashMap dans Collection.synchronizedMap()

n°374506
souk
Tourist
Posté le 28-04-2003 à 15:18:53  profilanswer
 

benou a écrit :


 
ben c'est pas très compliqué : chacune des méthodes de la HashTable est synchronizée => un traitement supplémentaire => plus lent.
 
Quand tu as besoin de synchronization et d'une map, souvent c'est les endroits de sycnhro snot très localisé => je préfère utiliser une HashMap et mettre moi même un bloc synchronized.
 
De plus, dès que tu veux faire des iteration sur la Map, tu es de toute façon obligé de faire un bloc de synchronization.
 
Les HashTable ont été gardé parce que trop d'appliaction les utilisaient. Mais maintenant que les HashMap existent, il n'y a plus aucune raison de s'en servir. A la rigueur, si tu veux vraiment une Map synchronizée tu peux passer ta HashMap dans Collection.synchronizedMap()


 
 :jap:  
 
merci pour ces precieuses precisions re-:jap:

n°374519
darklord
You're welcome
Posté le 28-04-2003 à 15:23:42  profilanswer
 

the real moins moins a écrit :

ben rien, je ne pense pas qu'il ait specialement besoin d'un singleton pour faire son truc, c'est tout. tu sais bien que j'aime bien te charrier  :wahoo:  


 
:)


---------------
Just because you feel good does not make you right
n°374848
the real m​oins moins
Posté le 28-04-2003 à 16:48:02  profilanswer
 

[:dawa]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°374882
darklord
You're welcome
Posté le 28-04-2003 à 17:04:54  profilanswer
 


 
 :pt1cable:


---------------
Just because you feel good does not make you right
n°374995
benou
Posté le 28-04-2003 à 18:24:40  profilanswer
 

[:ban]

n°374997
the real m​oins moins
Posté le 28-04-2003 à 18:25:07  profilanswer
 

y'a eu du delete là non? :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°375001
darklord
You're welcome
Posté le 28-04-2003 à 18:28:04  profilanswer
 

the real moins moins a écrit :

y'a eu du delete là non? :o


 
 :??:


---------------
Just because you feel good does not make you right
n°375003
BenJ9002
Posté le 28-04-2003 à 18:28:11  profilanswer
 

benou a écrit :


vous faites comme vous voulez. Moi je venais juste précher la bonne parole...


 
Fo pas te vexer benou ;) et puis tes explications sur les hashtables et hashmaps sont très intéressantes (meme si j'ai pas tout compris :ange: ) mais ce que je voulais dire (et que BifaceMcLeOD a compris) c'est que pour le coup, j'avais pas envie de lire des tonnes de docs, pas que j'en avait rien a fiche de la doc ... quand je me suis mis au php, j'ai emprunté un bouquin et je l'ai lu de la 1ere à la dernière page...  
 
Le java, pour l'instant, j'en ai juste besoin pour un petit projet pour l'école (qui nous fournit des cours plus ou moins bien faits) et j'avais juste besoin d'une fonction :) Mais par contre le jour où je veux vraiment me mettre à programmer (en java), je m'achète un vrai bouquin et je lis les docs :hello:  
 
Enfin, mon "projet" marche presque et je vous remercie tous pour votre participation :jap:

n°375012
the real m​oins moins
Posté le 28-04-2003 à 18:36:04  profilanswer
 

nraynaud avait posté un truc


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°375013
benou
Posté le 28-04-2003 à 18:37:33  profilanswer
 

benj9002 a écrit :


Fo pas te vexer benou ;)


y a pas de soucis ... mais remplace ta HashTable par une HashMap ;)
les HashTable ca fait has-been !

n°375018
BenJ9002
Posté le 28-04-2003 à 18:43:28  profilanswer
 

benou a écrit :


y a pas de soucis ... mais remplace ta HashTable par une HashMap ;)
les HashTable ca fait has-been !


 
Ok. Mais c'est pas grave la hashtable, de toutes facons le prof qui corrige il est has-been :D  :whistle:

mood
Publicité
Posté le   profilanswer
 


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

  Variables variables ?

 

Sujets relatifs
[Javascript] C'est possible de nommer dynamiquement des variables ?Variables dans variables..
Vbscript et variables d'environnementvariables de session
fonction avec nombre de parametres variables (comme printf)Trop de variables de session = problème ?
[CSS] Mettre des variables dans une feuille de style ?variables statiques
variables de variables et $_POST[][C++] Erreurs de redefinitions de variables....
Plus de sujets relatifs à : Variables variables ?


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