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
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
HashMap si tu n'a pas besoin que ça puisse être trié, TreeMap si tu as besoin d'avoir un tri.
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...
Et après un appel à intValue() pour récupérer la valeur...
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));
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.)Envoyé par remika
Suffit de travailler avec l JDk 1.5, avec l'autoboxing, ça se fait tout seul.
Tu peux stp detailler plus !! MerciEnvoyé par remika
Merci tout le monde
Tu peux stp detailler plus !! MerciJe te laisse mettre getters et setters...
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));
et tu n'as plus besoin que d'une seule map....
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; }
S est a dire que tu cree une classe Doublon qui prendra tes 2 entiers :
Ensuite dans ta Map il n y aura que des objets Doublon qui on comme cle un Integer (si j ai bien compris ^^).
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 ... }
Désolé remika si on a essayé de te prendre la vedette avec berg.
![]()
ba non c'est pas bien grave lol, de toute façon j'étais parti déjeuner![]()
lol y en qui se font poupouner :p.
Moi j attend toujours une reponse a une question ...![]()
Envoyé par berg
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.![]()
Partager