webForumDet fria alternativet

Lägga till ArrayList

3 svar · 499 visningar · startad av Arre

ArreMedlem sedan juli 200370 inlägg
#1

En newbie fråga..
Jag har en metod som tar ut innehållet (String variabler) ur en ArrayList och lägger till de i ett enda String objekt:
----------------------------------------------------------------------
void lagraInskrivning(ArrayList mening) {

ArrayList inskrivnameningar = new ArrayList();
String text = "";

for(int i = 0; i < mening.size(); i++) {
String ordet = (String) mening.get(i);
text += ordet + " ";
}

inskrivnameningar.add(text);

}
----------------------------------------------------------------------
Problemet jag har är vid add funktionen då jag vill lägga till "String text" i ett element i ArrayList. Det ser ut som att varje gång denna metod anropas för att i sin tur lägga till "String text" i ett nytt element i ArrayList:en så lägger den till den nya "String text" i början av ArrayList:en, dvs. i samma element hela tiden. Detta resulterar till att jag alltid har ett element med den senaste "String text" -objektet i :( varför blir det så?
Skulle vara mycket mysigare om varje "String text" hamnade i varsitt element :D

Tack på förhand!

ArreMedlem sedan juli 200370 inlägg
#2

Oj, råkade visst skriva in ett nytt inlägg med samma problem som jag hade innan. Den här gången skrev jag dock metoden då det var ett fel min kod.. det vore jättebussigt om ni kunde se var jag har gjort bort mig :)

pettssonMedlem sedan jan. 20021 122 inlägg
#3

Använd gärna [ kod] och [/ kod] taggarna (utan mellanslag), det ökar läsbarheten :)
Du skapar ju en ny, tom, ArrayList varje gång metoden anropas, därmed försvinner din ArrayList så fort metoden är klar. Om du istället gör såhär

String lagraInskrivning(ArrayList mening) {

String text = "";

for(int i = 0; i < mening.size(); i++) {
String ordet = (String) mening.get(i);
text += ordet + " ";
}

return text;
}

Så kan du spara strängen i en ArrayList därifrån denna metod anropas genom

ArrayList inskrivnameningar = new ArrayList();
inskrivnameningar.add(lagraInskrivning(meningslista));
ArreMedlem sedan juli 200370 inlägg
#4

Oh tack! funkar hur bra som helst nu.
Mm hålelr med, jag ska lägga in koden i taggar nästa gång.

Tack ännu en gång!

131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
126 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)