21. oktober 2004 - 14:04Der er
22 kommentarer og 1 løsning
Hente værdier fra ArrayList, som indeholder flere værdier
Uden at være sikker på om spørgsmålet er formuleret rigtigt (er lige startet med Java) vil jeg høre hvordan jeg kan trække værdierne ud af min element i min ArrayList
Hvad nu hvis jeg kun vil hive f.eks. "Hovedkvarter" ud? Det var egentlig mere noget i den stil jeg mente med mit spørgsmål (dårligt formuleret ;-))
Synes godt om
Slettet bruger
21. oktober 2004 - 14:16#3
Undskyld, jeg glemte lige at se hvad du havde kaldt din ArrayList.
Ting minTing = (Ting)ArrayListNavn.get(i);
at iterere den igennem kan gøres med en for-løkke:
for (int i=0; i<ArrayListNavn.size(); i++) { Ting minTing = (Ting)ArrayListNavn.get(i); // Gør noget med dit Ting-objekt her :-) }
Synes godt om
Slettet bruger
21. oktober 2004 - 14:18#4
ok, så prøver jeg lige igen
for (int i=0; i<ArrayListNavn.size(); i++) { Object obj = ArrayListNavn.get(i);
if (obj instanceof Ting) { Ting minTing = (Ting)obj; // Gør noget med dit Ting-objekt her } else if (obj instanceof HovedKvarter) { Hovedkvarter mitHovedkvarter = (Hovedkvarter)obj; // Gør noget med dit Hovedkvarter-objekt her } }
Det ligger på en comp uden internet, desværre. Men hvis der kun er et Array som man skal hente noget udfra.
Synes godt om
Slettet bruger
21. oktober 2004 - 14:28#9
Jamen, du har ikke brugt et array, du har brugt en Arraylist som kan bruges til at holde mange objekter i. I denne har du så valgt at oprette et objekt af typen ting, jeg kan ikke guide dig til hvordan du kan få det objekt ud, med mindre du fortæller mig hvilke metoder der er til at tilgå variabel-værdier i objektet.
Hvis der kun er et objekt i din ArrayList vil det ha' index'et 0.
Hvis jeg prøver at hente fra plads 3 (index tal 2), får jeg følgende fejl.
IndexOutOfBoundsException: Index: 2,Size: 1 (in java.util.ArrayList).
Synes godt om
Slettet bruger
21. oktober 2004 - 14:34#12
Ja, den skriver også at du kun har et element i ArrayListen
"Size: 1"
og tilgår elementet på plads nr 3:
"Index: 3"
Du kan altså kun tilgå elementerne på index-pladserne 0 og 1 (men du har vidst allerede forstået at man starter på index-plads 0 i Java, så det gider jeg ikke at fortælle om).
Synes godt om
Slettet bruger
21. oktober 2004 - 14:36#13
"Index: 2", naturligvis...
Synes godt om
Slettet bruger
21. oktober 2004 - 14:37#14
Du kan bruge metoden size() til at undersøge hvor mange elementer der er i en ArrayList.
forudsat hans værdi "Hovedkvarter" er gemt i en variabel, hvilkens værdi kan tilgås med metoden getHovedKvarter(); - det er RET så mange ting at forudsætte.
corholio jeg er fuldstændig enig, men ud fra den relativ spinkle beskrivelse der er givet kan jeg ikke rigtig give andre bud, men jeg antog lidt at det er gemt et sted, om variablen så er public, eller private med en get metode aner jeg ikke
Synes godt om
Slettet bruger
21. oktober 2004 - 14:42#19
Det spørgsmål omhandler hvordan man itererer sin liste igennem og undersøger / udtrækker forskellige objekttyper fra sin ArrayList...derfor sagde jeg undskyld. :-)
// testnavn er ikke initialiseret samtidig forsøger du at caste et "Ting" object til en String hvilket giver type-mismatch testnavn= (String) blTing.get(2);
Efter lang tids kamp, er det opgivet og vi har gjort det på en anden måde, tak for forsøgene på at hjælpe.
Synes godt om
Slettet bruger
21. oktober 2004 - 22:39#23
Har du lyst til at fortælle os hvordan i løste problemet, for jeg er rimelig blank?
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.