Hashtable problemer (igen)
Nu har jeg nok brug for arne_v's hjælp igen.Jeg gemmer objekter i en hashtable. Hvert objekt indeholder et 3*3 array, der repræsenterer et kryds og bolle bræt. Til hvert objekt hører der en key (som bruges i forbindelse med hashtabellen). Key'ens hashcode udregnes ved at repræsentere brættet som en streng f.eks. "000111033" hvor 0 er et tomt felt, 1 er en bolle og 3 er et kryds - det er så denne strengs hashcode der bliver key'ens hashcode. Jeg ved ikke om det er den korrekte måde at gøre det på - men problemet er:
Jeg tester om et givet objekt findes i hashtabellen og får returneret true. Herefter henter jeg objektet ud og så tester jeg om key'en på det objekt jeg spurgte på og det objekt jeg har hentet er ens (det burde de vel være) - nogle gange er de ikke ens!
Jeg har debugget mig igennem og for mig ser det ud som om, at hashtabellen gemmer objekter (med forskellige keys) på samme plads - hvilket jo er fint nok. Men med get() burde jeg vel få præcis det objekt jeg spørger efter - der burde vel traverseres over de objekter der ligger på samme plads i hashtabellen og returneres det korrekt.
Men jeg gør noget forkert - for jeg får ofte det forkerte af de objekter der ligger på samme plads (de har jo forskellige keys).
Nogen ideér til hvad jeg gør forkert?
