06. januar 2003 - 18:21Der er
9 kommentarer og 1 løsning
samligning af ArrayLists
Vi vil gerne samligne to ArrayLists. Men vi har lidt problemer med det. Begge lists indeholder begge en integer og en string på hver plads. Altså en title på en bog (String) samt en pris (double). Hver ArrayList repræsentere en boghandel. Det vi gerne vil finde ud af, er hvor man kan finde den billigste bog. Hvordan får vi objekterne ud af arraylisterne, for så at samligne dem?
Vi har prøvet at lave en metode, der samligner om der er nogle ligheder mellem indholdet i arraylisterne. Men vi kan ikke rigtigt få metoden til at fungere. Kan man gøre det på en anden måde?
void prisForskel(){ for(int n=0; n <= boghandler1.size()-1; n++){ for(int i=0; i <= kit.boghandler2.size()-1; i++){ if (boghandler1.get(n) == kit.boghandler2.get(i)) System.out.println("juHHHH det virker"); } } }
Det ser ud som om det er et bogobjekt i sætter ind. Hvis i kører prisForskel() og sammenligner objekterne med equality operatoren, vil den formentlig aldrig returnere truem og lave System.out.println! Det i tester er om de har samme reference. Det vil de aldrig have. Tror at i skal bruge .equals(). Den ser ikke på referencerne, men kun om de er ens. Prøv den istedet QD::
Ja, det ser rigtigt nok ud, på den måde du skriver det på. Men vi tror problemet ligger i en af vores for løkker, da vi aldrig kommer frem til System.out.println("juHHHH det virker");
1) Hvis I brugte HashMap i.s.f. ArrayList, så kunne I slå direkte op på titel i.s.f. at skulle loope gennem hele arrayet.
2) Brug af float og double til beløb kan give nogle ubehagelige små-fejl. I kunne f.eks. angive prisen i øre og bruge en int for at undgå problemer.
3) Hvis I skal have rigtigt store datamængder så skal I gemme data i en database og bruge JDBC til at hente dem med (og lave disse søgninger med SQL).
Synes godt om
Ny brugerNybegynder
Din løsning...
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.