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

Java Discussion :

[Conception] Structure appropriée pour 1 clé et 2 valeurs


Sujet :

Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 58
    Par défaut [Conception] Structure appropriée pour 1 clé et 2 valeurs
    Bonjour tout le monde,
    voila je cherche une structure qui va satisfaire mon besoin:
    plus precisement j'ai besoin de donner une clé (int) et d'obtenir deux valeur associé ( en int toujours) que j'aurais au paravant alimenté

    Merci d'avance

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    HashMap si tu n'a pas besoin que ça puisse être trié, TreeMap si tu as besoin d'avoir un tri.

  3. #3
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Le problème des Map et des Tree, c'est que souvent :
    • 1) Ils prennent en paramètre des objets
    • 2) Ils n'associent qu'une seule valeur à une clé.

    Dans ce cas, je verrais bien une solution toute bête qui t'évite de réinventer la roue et de refaire toi même ta struvture de données :
    2 maps ou 2 tree...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    							HashMap map1 = new HashMap();
    							HashMap map2 = new HashMap();
    							int taCle = ...;
    							int taValeur1 = ...;
    							int taValeur2 = ...;
    							map1.put(new Integer(taCle), new Integer(taValeur1));
    							map2.put(new Integer(taCle), new Integer(taValeur2));
    Et après un appel à intValue() pour récupérer la valeur...

  4. #4
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    tu peux aussi faire une classe Doublon avec 2 int dedans, et tu fais une HashMap<Integer,Doublon>

  5. #5
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par remika
    tu peux aussi faire une classe Doublon avec 2 int dedans, et tu fais une HashMap<Integer,Doublon>
    Bien vu !!! Et tellement mieux.... (à mon goût.)

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2006
    Messages : 380
    Par défaut
    Suffit de travailler avec l JDk 1.5, avec l'autoboxing, ça se fait tout seul.

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 58
    Par défaut
    Citation Envoyé par remika
    tu peux aussi faire une classe Doublon avec 2 int dedans, et tu fais une HashMap<Integer,Doublon>
    Tu peux stp detailler plus !! Merci

    Merci tout le monde

  8. #8
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Tu peux stp detailler plus !! Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    							class Doublon{
    								int v1 = 0;
    								int v2 = 0;
     
    								public Doublon(int a, int b){
    									v1=a;
    									v2=b;
    								}
    							}
    map1.put(new Integer(taCle), new Doublon(taValeur1, taValeur2));
    Je te laisse mettre getters et setters...

    et tu n'as plus besoin que d'une seule map....

  9. #9
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    public class Doublon
    {
    	Doublon(int x,int y)
    	{
    		this.x = x;
    		this.y = y;
    	}
     
    	int getX()
    	{
    		return x;
    	}
     
    	int getY()
    	{
    		return y;
    	}
     
    	private int x;
    	private int y;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    import java.util.HashMap;
     
    public class MaHashMap
    {
    	MaHashMap()
    	{
    		hm = new HashMap<Integer,Doublon>();
    	}
     
    	void put(int key,int x,int y)
    	{
    		hm.put(key,new Doublon(x,y));
    	}
     
    	int getX(int key)
    	{
    		return hm.get(key).getX();
    	}
     
    	int getY(int key)
    	{
    		return hm.get(key).getY();
    	}
     
    	private HashMap<Integer,Doublon> hm;
    }

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 131
    Par défaut
    S est a dire que tu cree une classe Doublon qui prendra tes 2 entiers :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Doublon {
       int entier1;
       int entier2;
     
       public Doublon(int entier1, int entier2) {
          this.entier1 = entier1;
          this.entier2 = entier2;
       }
     
     etc ...
     
    }
    Ensuite dans ta Map il n y aura que des objets Doublon qui on comme cle un Integer (si j ai bien compris ^^).

  11. #11
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Désolé remika si on a essayé de te prendre la vedette avec berg.

  12. #12
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    ba non c'est pas bien grave lol, de toute façon j'étais parti déjeuner

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 131
    Par défaut
    lol y en qui se font poupouner :p.
    Moi j attend toujours une reponse a une question ...

  14. #14
    Membre Expert
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Par défaut
    Citation Envoyé par berg
    S est a dire que tu cree une classe Doublon qui prendra tes 2 entiers :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class Doublon {
       int entier1;
       int entier2;
     
       public Doublon(int entier1, int entier2) {
          this.entier1 = entier1;
          this.entier2 = entier2;
       }
     
     etc ...
     
    }
    Ensuite dans ta Map il n y aura que des objets Doublon qui on comme cle un Integer (si j ai bien compris ^^).

    Hello,

    Oui c'est ca!

    En fait chaque objet doublon representera un couple d'entier.. et dans ta hashmap ta clé referencera ton objet doublon.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/02/2012, 19h38
  2. [Conception] Besoin d'un conseil pour structurer ma base
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/01/2008, 14h02
  3. [Conception]structure de BDD pour gérer une arborescence
    Par petitours dans le forum Modélisation
    Réponses: 11
    Dernier message: 13/04/2007, 16h58
  4. [débutant][Conception] Structure dynamique avec Java
    Par blaiseac dans le forum Général Java
    Réponses: 5
    Dernier message: 18/11/2004, 23h00
  5. Réponses: 12
    Dernier message: 26/04/2004, 08h32

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