OVH Cloud OVH Cloud

Utilisation d'une TreeMap

2 réponses
Avatar
CABA
Bonjour,

J'ai un souci avec l'utilisation d'une TreeMap.

Voilà un morceau de code qui ne fonctionne pas :


TreeMap tm = new TreeMap(new ChaineNumeroComparator());
tm.put("A.11", "Table A.11");
tm.put("A.5", "Table A.5");
System.out.println(tm);
System.out.println(tm.get("A.11"));


Résultat de cette exécution :
{A.5=Table A.5, A.11=Table A.11}
null

Si j'effectue la même chose sans déclarer de comparateur particulier,
j'obtiens :
{A.11=Table A.11, A.5=Table A.5}
Table A.11


Dans les deux cas les clés sont correctes et les valeurs bien présentes,
pourtant dans un cas j'arrive à récupérer une valeur à partir de sa clé avec
la méthode get et dans l'autre cela ne fonctionne pas, je cale là !


Merci

CABA

2 réponses

Avatar
Philippe
CABA wrote:
Bonjour,

J'ai un souci avec l'utilisation d'une TreeMap.

Voilà un morceau de code qui ne fonctionne pas :


TreeMap tm = new TreeMap(new ChaineNumeroComparator());
tm.put("A.11", "Table A.11");
tm.put("A.5", "Table A.5");
System.out.println(tm);
System.out.println(tm.get("A.11"));


Résultat de cette exécution :
{A.5=Table A.5, A.11=Table A.11}
null

Si j'effectue la même chose sans déclarer de comparateur particulier,
j'obtiens :
{A.11=Table A.11, A.5=Table A.5}
Table A.11


C'est donc ton Comparator 'ChaineNumeroComparator' qui merde
Le mieux c'est de donner le code ... parceque là, on peut rien faire !

--
Philippe

Avatar
CABA
Effectivement ça venait de mon comparator.
Je n'ai pas encore bien compris pourquoi mais j'y travaille...

Merci

CABA

"Philippe" a écrit dans le message de news:
41639845$0$17754$
CABA wrote:
Bonjour,

J'ai un souci avec l'utilisation d'une TreeMap.

Voilà un morceau de code qui ne fonctionne pas :


TreeMap tm = new TreeMap(new ChaineNumeroComparator());
tm.put("A.11", "Table A.11");
tm.put("A.5", "Table A.5");
System.out.println(tm);
System.out.println(tm.get("A.11"));


Résultat de cette exécution :
{A.5=Table A.5, A.11=Table A.11}
null

Si j'effectue la même chose sans déclarer de comparateur particulier,
j'obtiens :
{A.11=Table A.11, A.5=Table A.5}
Table A.11


C'est donc ton Comparator 'ChaineNumeroComparator' qui merde
Le mieux c'est de donner le code ... parceque là, on peut rien faire !

--
Philippe