import java.util.ArrayList; import java.util.HashMap; class Hachage { private HashMap> hashmap = new HashMap>(); private Long cle; public void init() { hashmap.clear(); } public void ajoute(Long cle, int c, Othellier o) { this.cle = cle; if(! (hashmap.containsKey(cle))) { o.evaluation_oth(); // la classe Othellier contient un ArrayList et la méthode evaluation_oth "remplit" ArrayList ArrayList eval = new ArrayList(); eval = o.getEvaluation(); // renvoie ArrayList hashmap.put(cle, eval); } else { ArrayList temp = new ArrayList(); temp = hashmap.get(cle); if(c == 0) { temp.set(temp.size()-1, temp.get(temp.size()-1)+1); // je veux changer la dernière valeur de l'ArrayList // hashmap.put(cle, temp); //ça je sais pas si je dois le mettre ou pas! } else { temp.set(temp.size()-1, temp.get(temp.size()-1)-1); // hashmap.put(cle, temp); // ça je sais pas si je dois le mettre ou pas! } } } // ajoute() public int hashCode() {;return (int)(cle^cle>>>32); } public boolean equals(Object o) { if (o instanceof Hachage) { Hachage other = (Hachage) o; if(o == this) return true; if (this.cle != other.cle) { if (this.cle == null || !this.cle.equals(other.cle)) { return false; } } } return true; } } // Hachage