Har ett litet problem med en HashMap i Java. Jag har en HashMap som ser ut som detta:
Kod:
private HashMap <CustomClass, ArrayList <CustomClass>> theMap = new HashMap <CustomClass, ArrayList <CustomClass>>();
Jag anvnder theMap fr att lagra CustomClass objekt. CustomClass objekt har bara en intressant variabel, vilket r en char [] array. Det r i princip dem som jag vill lagra i HashMappen, men eftersom man inte kan lagra arrays p det sttet i HashMaps pga problem med hashkod (det r iaf vad jag har lst) s skapa jag den hr klassen istllet. I den hr klassen har jag sedan overridat equals och hashCode p detta stt:
Kod:
@Override
public boolean hashCode() {
return Arrays.hashCode(theCharArray);
}
@Override
public boolean equals(Object o) {
if(o == null) return false;
if(this.getClass() != o.getClass()) return false;
CustomClass comp = (CustomClass) o;
return Arrays.equals(this.theCharArray, comp.theCharArray);
}
Jag har kollat med sprutskrifter, bda metoderna anvnds nr jag frsker "getta" ngot value frn HashMappen via en key, men det funkar nd inte. Stoppar jag in en char [] array som bestr av tecknena 'j', 'a', 'g' i HashMappen och sedan frsker "getta" denna igen s funkar det inte. Vet ngon varfr?