Hello,
est il possible en java d'utiliser une Hashmap en remplacement d'une ArrayList, pour pouvoir utiliser les fonctions de
clés en meme temps que la possibilité d'étendre un tableau de manière dynamique...
Hors ligne
Yep
Oui, tout à fait ...
Le HashMap fonctionne comme ça :
avec cle et valeur des Objets.
Si tu veux parcourir ton Map, il faut que tu fasses quelque chose comme ça (notations 1.4) :
* et pour vérifier qu'une clé est dispo :
if(monMap.get(cle) == null){ }
+
+
Dernière modification par 22_80 (2008-11-25 12:48:08)
Hors ligne
pour parcourir le map, on peu aussi faire qque chose comme ça :
for (Iterator i = mapListe.keySet().iterator() ; i.hasNext() ; ){ String cle = (String)i.next(); Pix pix = (Pix) mapListe.get(cle); }
ça vient de ton sketch tracking color
c'est plus pratique comme ça non?
ou ça amène des bugs...
++
Hors ligne
Oui, tout à fait, c'est équivalent ...
+
+
Hors ligne
Merci ++
Hors ligne
...
Par contre comment comparer 2 elements d'une Hashmap ?
La, dans une ArrayList:
for (int=0; i<maListe.size();i++){ for(int j=0; j<i ; j++){ ...
... pour une HashMap, j'ai un peu de mal à voir comment faire.
pour calculer des distances entre des listes de points par exemples...
une idée?
Hors ligne
new ArrayList(monMap); avant de faire ton calcul sur les distances ...
Tu peux facilement passer d'un Map à une ArrayList ... l'inverse est moins vrai.
Et vu que java marche par référence sur les objets (c'est pas tout à fait vrai, mais des fois, vaut mieux ignorer la vérité), quand tu modifieras ton objet dans ta List, ça les modifiera aussi dans ton Map.
Hors ligne
oyster_twiter a écrit:
et pour vérifier qu'une clé est dispo :
if(monMap.get(cle) == null){ }
Tu as plus simple en faisant :
if (monMap.containsKey(cle)) { }
Hors ligne
Oui, c'est quand même plus propre.
+
+
Hors ligne