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
Version imprimable
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:
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.)Citation:
Envoyé par remika
Suffit de travailler avec l JDk 1.5, avec l'autoboxing, ça se fait tout seul.
Tu peux stp detailler plus !! MerciCitation:
Envoyé par remika
Merci tout le monde
Citation:
Tu peux stp detailler plus !! Merci
Je te laisse mettre getters et setters...Code:
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:
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:
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:
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 ... }
:twisted: Désolé remika si on a essayé de te prendre la vedette avec berg. :lol:
ba non c'est pas bien grave lol, de toute façon j'étais parti déjeuner :lol:
lol y en qui se font poupouner :p.
Moi j attend toujours une reponse a une question ...:(
Citation:
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. :D