Faciliter le changement de ma structure de données - Java - Programmation
Marsh Posté le 13-04-2006 à 10:09:07
HashMap et Hashtable utilisent l'interface java.util.Map.
Vector et ArrayList utilisent l'interface java.util.List
Code :
|
Marsh Posté le 13-04-2006 à 10:15:33
Je crois que je n'ai pas été trés clair dans mes explications.
Je sais bien qui implémente qui. Mais je voudrais pouvoir passer d'une implémentation (Vector - Hashtable) à une autre (ArrayList - HashMap) facilement et rapidement, en évitant de reporter la modification à travers toutes mes classes.
C'est pourquoi j'aurai aimé qu'à chaque fois que je déclare/instancie un objet de type List et qu'à chaque fois que je déclare/instancie un objet de type Map, une variable/constante (que je place manuellement) soit consultée pour savoir si il faut utiliser l'une ou l'autre des implémentations.
J'aimerai donc que je puisse me dire que je passe de HashMap à Hashtable en modifiant une seule variable dans mon code. (cette variable est consultée à l'éxécution pour voir si il faut créer des HashMap ou des hashtable).
J'espère que c'est plus clair :-)
Marsh Posté le 13-04-2006 à 14:37:40
En fait, pour être plus explicite, je voudrais arriver au résultat suivant, mais en moins lourd :
Code :
|
Marsh Posté le 13-04-2006 à 15:06:48
Comme ça alors ?
Code :
|
Marsh Posté le 13-04-2006 à 15:22:58
merci !
C'est toujours "lourd" dans le sens ou il y a toujours une classe créée pour cela, mais c'est un peu moins lourd que moi.
Enfin je crois que ce que je veux faire n'est pas vraiment réalisable, donc je vais prendre cette solution.
Merci pour l'explicitation de la notation inline que je n'avais effectivement plus en tête le fonctionnement...
Marsh Posté le 11-05-2006 à 10:53:12
Salut.
La réponse est un peu tardive, mais elle me semblait néanmoins intéressante, si jamais tu la lis à temps.
Le mot-clé est "généricité" !
Google te donnera pas mal d'indications à ce sujet (tu peux également rechercher "polymorphisme" ).
Une explication sommaire, qui te montrera que c'est bien exactement ce que tu cherches à faire :
http://cowww.epfl.ch/proginfo/wwwe [...] cite_6.pdf
Attention, c'est du Java 5.0.
Marsh Posté le 11-05-2006 à 17:33:25
je n'ai pas encore regardé, mais si tu parles des <Generic>, je comptais les utiliser
Enfin merci pour le lien, si c'est bien expliqué ca me sera utile !
Marsh Posté le 11-05-2006 à 18:29:11
Il s'agit effectivement bien de l'utilisation des chevrons <type> pour spécifier des méthodes acceptant plusieurs types de paramètres.
Si j'ai bien compris ta demande initiale, ça devrait satisfaire à tes besoins.
Bon codage
Marsh Posté le 13-04-2006 à 09:47:35
Bonjour !
Je suis en train de créer une structure de données et je voudrai faire des tests entre plusieurs type d'implémentation.
Par exemple je voudrai faire des comparaison entre l'utilisation, dans ma sdd, de Vector/ArrayList, Hashtable/HashMap, etc...
j'utilise des méthodes compatibles entre les types, donc je peux passer de l'un à l'autre sans aucun problème.
Ma question concerne justement le passage rapide d'un type à un autre.
Par exemple je voudrai passer de :
à
Le problème c'est que ce changement devrai s'appliquer à plusieurs dizaines d'endroits dans mon code. J'aurai donc voulu créer quelques chose qui, au final, agirait comme ca :
Quelqu'un aurait une idée ?
J'espère que vous avez compris ce que je veux :-)
Merci !