IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

MultiKeyMap ou TreeMap


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué Avatar de Iphelias
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Points : 130
    Points
    130
    Par défaut MultiKeyMap ou TreeMap
    Bonjour à tous,

    Un soucis de conception, en effet je travaille actuellement sur un projet de transcodage. En gros en fonction de diverses clés je cherche une valeur.

    Voila tout se complique car je ne vois pas bien comment implémenter cela en Java. Je peux faire des trucs de bricolos : des HashMap de Hasmap etc... . Mais l'idée ne me plait pas.

    Voici mon problème :

    Exemple de Table

    Key 1 | Key 2 | Key 3 | Valeur
    A * * 1
    T TA TTA 2
    T TB TTB 3
    T TB TTC 4
    T TB * 5

    etc...

    Donc on voit bien ici que pour trouver la valeur, je dois comparer plusieurs clé, voir également une valeur "tout" représenté par "*".

    J'ai trouvé la classe MultiKeyMap provenant de la librairie Appache. Sinon je me demande si l'utilisation d'un TreeMap ne pourrait pas répondre à mon besoin ?

    Avez vous déjà été confronté à ce problème ? une idée ?

  2. #2
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Salut,

    Pourquoi ne pas créer une classe contenant tes 3 clés, une "super" clé. Tu y redéfinis les méthodes equals et hashCode en fonction du type d'unicité que tu désires.

    Enfin, tu fais une HashMap de ta classe et de ta valeur associée.

    Basiquement tu encapsules tes clés dans une classe servant de clés.

  3. #3
    Membre habitué Avatar de Iphelias
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Points : 130
    Points
    130
    Par défaut
    Pas con, j'y avais pas songé.
    Bon je vais partir la dessus.

    Merci

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 565
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 565
    Points : 21 631
    Points
    21 631
    Par défaut
    Ouais, enfin, ça permettra pas de faire facilement les jokers *
    Pour un truc comme ça, je ne crois pas qu'il y ait des outils tout faits. Enfin si : ça s'appelle une base de données.
    L'approche Map de Map de Map n'est pas si mauvaise. Sinon, faire soi-même une base de donnée triviale : une Map<Key, Set<Valeur>> par clé, et satisfaire les contraintes à base de retainAll()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer le Collator d'un TreeMap avant Sérialisation
    Par Djakisback dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 31/05/2006, 13h57
  2. TreeMap + type de données
    Par Fabouney dans le forum Langage
    Réponses: 3
    Dernier message: 23/05/2006, 10h22
  3. treeMap / get
    Par keopsk dans le forum Langage
    Réponses: 5
    Dernier message: 28/04/2006, 12h38
  4. Tri alphabétique d'un TreeMap dont les clés sont des String
    Par Djakisback dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 31/03/2006, 14h33
  5. [TreeMap] comparer et fusionner deux TreeMap
    Par LoLoSS dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 06/09/2004, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo