• 2
  • 3
2019-10-12, 22:06
  #25
Medlem
DrVonAnkas avatar
Citat:
Ursprungligen postat av Despat
Edit: Nr jag gettar och puttar ser det ut shr:
Kod:
Hr visas korrekt hashkod
myHashMap.put(firstCustomObj, new ArrayList <CustomClass>());
myHashMap.get(firstCustomObj).add(secCustomObj);

//Hr fr jag den dr skumma outputen dr hashkoden tydligen r 1.
System.out.println(myHashMap.get(firstCustomObj).get(0).hashCode());

//Hr exempelvis blir testList till null. 
ArrayList <CustomClass> testList = myHashMap.get(firstCustomObj);
Att hashen blir 1 betyder vl enbart att secCustomObj har en tom lista? Det tror jag inte r fel om s r fallet.
Citera
2019-10-12, 23:08
  #26
Medlem
Despats avatar
Citat:
Ursprungligen postat av kjellbrel
Du lser slarvigt. Fr att frtydliga: resultat av get blir null.


Nej, det hjlper inte att du berttar vad du vill uppn med programmet. Det r inte heller relevant. Det skall du nu som sagt skala bort tills du kan terskapa felet med minimal mngd kod. Fokus just nu enbart p att koka ned problemet till varfr du inte kan hmta upp objekt du lagt ned i din map.

Det som mjligen r relevant att veta om applikationen r om den r flertrdad, vilket du fortfarande inte har svarat p.

Den r ej flertrdad, jag fr vl testa med ditt tips isfall.

Citat:
Ursprungligen postat av DieTrolle
Med tanke p den obefintliga koden du publicerar som beskriver vad/hur du gr blir det vldigt svrt att hjlpa dig. Men ett av de f fall som jag vet att hashCode returnerar just 1 r d den anropas p en tom ArrayList. Men som sagt var s r det svrt att veta d man inte vet hur du skapar objekten eller anvnder dem...

Citat:
Ursprungligen postat av DrVonAnka
Att hashen blir 1 betyder vl enbart att secCustomObj har en tom lista? Det tror jag inte r fel om s r fallet.

Nice att veta, men jag frstr inte varfr hashkoden fr arraylistan returneras? Jag "ber" ju om hashkoden fr det frsta indexet med tanke p att det r get(0).hashCode() jag ber om? Eller r det inte s?

Ska fortstta testa mig fram
Citera
2019-10-12, 23:25
  #27
Medlem
DrVonAnkas avatar
Citat:
Ursprungligen postat av Despat
Den r ej flertrdad, jag fr vl testa med ditt tips isfall.





Nice att veta, men jag frstr inte varfr hashkoden fr arraylistan returneras? Jag "ber" ju om hashkoden fr det frsta indexet med tanke p att det r get(0).hashCode() jag ber om? Eller r det inte s?

Ska fortstta testa mig fram
Frsta indexet returnerar ju secCustomObj, right? Och d anvnds din egna override av hashcode ty det r av din egna klass. (tror jag)
Citera
2019-10-13, 01:30
  #28
Medlem
Despats avatar
Citat:
Ursprungligen postat av DrVonAnka
Frsta indexet returnerar ju secCustomObj, right? Och d anvnds din egna override av hashcode ty det r av din egna klass. (tror jag)

Precis, s varfr returneras 1 istllet fr min egna override av hashcode. Verkar som att, precis som nn annan skrev, att det r hashcode fr sjlva ArrayListen som returneras istllet.
Citera
2019-10-13, 10:03
  #29
Medlem
Citat:
Ursprungligen postat av Despat
Precis, s varfr returneras 1 istllet fr min egna override av hashcode. Verkar som att, precis som nn annan skrev, att det r hashcode fr sjlva ArrayListen som returneras istllet.
Din implementerade hashCode anvnder sig av metoden Arrays.hashCode. Den fungerar p samma stt som hashCode fr ArrayLists. S om du anropar din hashCode p en tom char-array s kommer du ven hr f hashvrdet 1. S jag misstnker att du strular till det nr du skapar dina objekt och skapar dem med tomma char-arrayer. Om de skulle vara null s skulle du f returvrdet 0. S testa att skriva ut vad som verkligen ligger lagrat i dessa char-arrayer.
Citera
2019-10-17, 13:35
  #30
Medlem
DrVonAnkas avatar
Har du kommit fram till vad problemet r ts?
Citera
  • 2
  • 3

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in