Comparer deux valeurs d'une hashMap

Bonjour à tous et merci d'avance pour votre aide,

J'aimerais comparer des attributs de clés d'une hashmap. Je m'explique... J'ai une liste de valeurs pour chaque objet de la clé de ma hashmap. J'aimerais comparer les valeurs qui sont égales. J'ai parcourus la hashmap avec une boucle étendue, un foreach, mais je ne pense que ce soit correcte. Je ne sais pas comment dire au programme que je veux la valeur suivante de la hashmap avec ce foreach. Avec un for classique ce serait simple, il faudrait juste faire un get(i+1) mais là je ne sois pas comment faire...

Voici mon code:

for(Panier p1 : hashBien.keySet())
{
hashRetenu.put(p1. hashBien.get(trans1));
//comparaison
for(Panier p2 : hashBien.keySet())
{
if(p1.getLstProd().equals(p2.getLstProd()))
{
hashRetenu.put(p2, hashBien.get(p2));
}
}
}

Merci d'avance !

Rachel

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Je ne comprend pas bien ce que tu souhaites faire en fait.
    Mais, voici un autre moyen de parcourir une HashMap (et peut-être le moyen le plus correct)

    Set cles = hashBien.keySet();
    Iterator it = cles.iterator();
    while (it.hasNext()){
       Object cle = it.next(); 
       Object valeur = map.get(cle);
    }
    
    1. Merci pour votre réponse.

      En fait j'aimerais faire l'équivalent de :

      for(int i = 0; i<liste.size(); i++)
      {
      for(int j = 1; j<liste.size(); j++)
      {
      if(liste.get(i).equals(liste.get(j))
      {
      bon = true;
      }
      }
      }

      ... mais j'aimerais faire ça pour une hashMap...