HashMap aus Value Key bekommen

Battleju

Aktives Mitglied
Hi,
ich habe eine hashmap erstellt und brauche eine art "suche", die mir bei bestimmten werten ein Key zurück gibt. Das war mein Versuch:

Code:
public GameObject getObject(int x, int y) {

        for (Entry<GameObject, Coordinates> entry : map.entrySet()) {
            if (entry.getValue().equals(new Coordinates(x, y))) {
                System.out.println("not null");
                return entry.getKey();
               
            }
        }
        return null;
    }

Problem: Egal welcher wert bei getObject(int,int) für x und y eingesetzt werden, es wird immer null returnt. Ein Beispiel, dass ich versucht habe:
Code:
world.addObject(obj, 1, 3);
System.out.println(world.getObject(1, 3));
Es wird "null" ausgegeben.
der key mit "obj" ist in "map" vorhanden...

Jetzt die Frage: Was ist an dem Code oben falsch??😕

danke im voraus

lg bttl
 
Wie sieht denn die equals() Implementierung von Coordinates aus? Wenn du jetzt antwortest: "Coordinates hat gar keine equals() Methode", dann ist da der Fehler. 🙂 Coordinates erbt dann Object.equals() und dann sind zwei unterschiedliche Coordinates Objekte ("unterschiedlich" im Sinne von verschiedene Objektinstanzen) IMMER unterschiedlich im Sinne von equals().
 

Zurück
Oben