12. juli 2004 - 23:52Der er
18 kommentarer og 1 løsning
Hente hashmap i arraylist
Mit program indeholder to klasser gui og data. I data klassen, ligger der en metode, som henter noget info fra en database. Denne info kommer jeg ind i et hashmap og hashmapet kommer jeg ind i en arraylist. Arraylisten bliver til sidst returneret.
Mit spørgsmål lyder: Hvordan får jeg fat i hashmapet, som ligger i arraylisten?
Kan man overhovedet det, eller skal jeg have fat i en anden løsning?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Det kan du godt.. men hvis der kun er et map giver ikke rigtigt mening når du skal have fat i dit HashMap skal du bare cast det til et HashMap igen når det skal ud af listen
map = (HashMap) list.get(0); eller med en iterator map = (HashMap) i.next();
Men hvis der kun er tale om et HashMap hvorfor så ikke retunerer det direkte istedet for at komme det i en arraylist.
du kunne selvfølgelig også skippe brugen af arraylist og f.eks bruge cpr nr som key i et hashmap og person objektet som value og retunere det istedet. Afhænger lidt af hvad det er du vil opnå.
arne hvis du ser det her kunne jeg egentligt godt tænke mig at vide om man burde sætte alle String name; String surname; osv. til null efter man kommer ud af while lykken Hvis man forestiller sig at objektet som metoden er i lever videre og metoden bliver brugt igen og igen vil referencen til de sidste strings jo forsvinde og blive garbage collected, men i mellemtiden lever den sidste iterations strings videre mellem brug af metoden. hvis den ikke lever videre vil de vel blive garbage collected automatisk sammen med objektet. Hvad vil være pænest? Det er sjældent at jeg ser kode der implicit sætter objekter til null så nogen gang har jeg lidt svært ved at se hvornår jeg skal gøre det.
Lige et sidste spørgsmål...jeg har nu sat det ind i min kode...men hvordan får jeg person objektet ud af hashmapet, så jeg kan bruge metoderne i person klassen...getName osv...
Jeg ved iøvrigt ikke hvad jeg tænkte der med garbage collection. Når metoden retunerer forsvinder referencen til objekterne da variablerne er lokale og kan garbage collectes.
Så det må være med instance og class variabler at man implicit skal sætte referencen til null
et hashmap som du itererer igennem retunerer iøvrigt ikke personerne i nogen bestemt rækkefølge. Hvis du vil det skal du benytte et treemap og en comparator, hvis du da stadig vil benytte et map. Map har den fordel at det er meget hurtigt at slå en nøgle op og få retuneret et objekt.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.