Bonjour
je commence à apprendre les map en java et j'ai un exercice ou je doit ajouter
un Objet Achat (String lib, int d, int nb, Zone z) dans une map nommé courses comme ceci :
ajouterAchat : Courses x Achat > Courses
Ajoute un Achat aux Courses
montantTotal : Courses > Réel
calcule le prix total des achats réalisés
(il ne peut pas y avoir 2 Achats avec le même libellé. L'accès aux Achats se fera
séquentiellement.)
Cependant j'ai un peu de mal avec les map malgré mes recherches sur internet.
Voila mon code mais je croit que c'est très brouillon :
public class Course {
private Map<Integer, Achat> course = new HashMap<>();
private int k=0;
public Course (Map c) {
this.course = c;
}
public static boolean estVide(Map m) {
return m.isEmpty();
}
public void ajouterAchat(Achat a, Map m) {
this.course.put(k, a);
k+=1;
}
public void montantTotal(Map m) {
int total = 0;
Achat achat;
for (int k = 0; k < m.size(); k++) {
Achat valeur = (Achat) m.get(k);
total += valeur.getPrixTotal();
}
}
}
En allant sur internet je suis tomber sur ce genre de ligne de code mais j'ai du mal à comprendre :
Set<Entry<Integer, String>> setHm = hm.entrySet();
Iterator<Entry<Integer, String>> it = setHm.iterator();
while(it.hasNext()){
Entry<Integer, String> e = it.next();
System.out.println(e.getKey() + " : " + e.getValue());
}