BrimbaMedlem sedan dec. 19995 875 inlägg Hej!
Om jag har
int arrWee[] = new int[4];
Så kanske jag fyller arrWee med värden, och kommer sedan på att den måste utökas till
int arrWee[] = new int[6];
Alltså utrymmet på en befinlig array skall ökas på med två, utan att de befintliga värderna i arrayen försvinner. (Arrayen skall alltså behålla sitt gamla namn)
Hur skall jag göra?
ViktorMedlem sedan aug. 20021 752 inlägg Det går inte, finns ingen ReDim i Java :),du får göra en temporär array där du sparar allt och sedan ökar du storleken på den gammla och fyller den gammla med de gammal värdena igen. Om du vill ha dynamisk storlek så får du titta på Vector och liknande collection klasser.
/Viktor
BrimbaMedlem sedan dec. 19995 875 inlägg Jovisst.
Saken är den att jag skapar en statisk array (klassarray) vid klassinitieringen. Men däremot vill jag förändra storleken på den arrayen i en metod.
Problemet är ju att om jag skapar en temporär array i metoden och sedan skapar en ny array med samma namn som klassarrayen som initierades i början, så ersätts den ändå in. Utan klassarrayen finns kvar som den var från början, medan den nyskapade arrayen - med samma namn förvisso - innehåller korrekta värden, fast den är bara giltlig i metoden.
Några tips på hur jag löser detta?
BrimbaMedlem sedan dec. 19995 875 inlägg Problemet var att jag skrev
int arrWee[] = new int[6];
i metoden istället för att skriva:
arrWee = new int[6];
PeWMedlem sedan juni 200010 432 inlägg
Några tips på hur jag löser detta?
Vet inte om redan fixat det, men generellt sett så kan du ju lösa liknande problem med att endera snegla på det färdiga objektet "array" eller så skapar du helt enkelt en egen inbyggd (i din klass) klass som har lite egna metoder för lagringen av data, manipulation... här en array men det kan ju vara vad som helst (länkad struktur... m.m)
Här finns ett exempel på hur jag menar (den inbyggda klassen arr i BST)