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 :

Map associant 2 clés à une valeur


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Map associant 2 clés à une valeur
    Bonjour à tous !

    J'aurais besoin d'utiliser une Map associant 2 clés à une seule valeur, à la différence de la classe HashMap qui ne permet d'associer qu'une seule clé à une valeur.
    J'ai bien sûr pensé à utiliser un tableau de longueur 2 comme clé, mais existe-t'il une solution plus simple ?

    Merci d'avance
    Axel

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Le tableau n'est pas une solution propre car son identité n'est pas fixe, et que son hashCode ne correspond pas à ses données...

    Il faudrait se créer une classe "Key" !


    Après il faudrait connaitre les règles que tu souhaites respecter. Par exemple si tu as 2 clé A et B, la clef (A,B) est-elle égale à (B,A) ? etc.

    a++

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui effectivement, je viens d'essayer avec un tableau d'objets, il y a un problème de référence.

    Serait-il possible (et réalisable) de créer une classe qui implémente l'interface Map ?

    Sinon, est-il possible de faire une sorte de HashMap "imbriquée", du style HashMap<String, HashMap<String, Object>> ? Si oui, quelle est la bonne syntaxe ?

    Je vais faire quelques tests avec une classe "Key" comme tu dis

    Merci
    Axel

  4. #4
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Bonjour,

    Tu peux jeter sur cet API

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Citation Envoyé par axel41 Voir le message
    Serait-il possible (et réalisable) de créer une classe qui implémente l'interface Map ?
    Bien sûr, tu peux créer autant d'implémentations de Map que tu le souhaites.
    Citation Envoyé par axel41 Voir le message
    Sinon, est-il possible de faire une sorte de HashMap "imbriquée", du style HashMap<String, HashMap<String, Object>> ? Si oui, quelle est la bonne syntaxe ?
    Oui, cela est également tout à fait possible. Je dirais à priori qu'il vaut mieux utiliser Map que HashMap. Avec les Google Collections, tu peux faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Map<String,Map<String,Object>> map = Maps.newHashMap();
    Sinon, tu peux t'amuser à tout écrire in extenso :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Map<String,Map<String,Object>> map = new HashMap<String,Map<String,Object>>();
    Puis une fois créée, tu la peuples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    map.put("ma clé 1", new HashMap<String,Object>());
    map.get("ma clé 1").put("ma sous-clé 1", new Object());

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/06/2006, 07h40
  2. clés et valeurs à null dans une HashMap typée
    Par Djakisback dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/06/2006, 13h04
  3. Avoir une valeur associé à chaque item d'un TComboBox
    Par dimdidi dans le forum Composants VCL
    Réponses: 10
    Dernier message: 10/03/2006, 09h15
  4. Réponses: 6
    Dernier message: 17/02/2006, 15h07
  5. [RegEx] Gérer deux possibilités et leur associer une valeur 0/1
    Par speed_man002 dans le forum Langage
    Réponses: 3
    Dernier message: 21/09/2005, 18h32

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