Globales array verändern

hermann9

Grünschnabel
Hi,
erstmal vielen Dank für eure Hilfe.

Ich möchte bei einem globalen Array von int-Werten, die Größe dynamisch gestalten,
d.h ich lese die Größe über ein TextFeld ein und würde dann gern soetwas machen wie:
array.length=größe;
(ich weiß, dass man auf array.length keinen Schreibzugriff hat)
 
Meinste sowas

Code:
String zahl= textfeld.getText();

int[] array=new int[zahl.length]

Sonst kann man die größe nicht mehr verändern.
 
Wenn es einmal angelegt ist kannste die größe nicht mehr ändern, wenn du das aber musst, dann würde ich dir nen Vector empfehlen
 
Vector - ganz schön beliebt das Teil... :)

Die gesamte Collection-Auswahl von java.util.* bietet verschiedene Objekte für die verschiedenen Anforderungen.
Wenn Du nicht auf Java 1.1.x angewiesen bist, wäre auch eine ArrayList sehr hilfreich. Für Primitive würde ich mir eine Ableitung schreiben, dann entfällt das Casten:

Code:
public class NumberList extends ArrayList {
 
//die Konstruktoren, die Du wirklich brauchst...
 
public boolean addInt(int i) {
  return super.add(new Integer(i));
}
 
public boolean removeInt(int i) {
  return super.remove(new Integer(i));
}
 
//usw.
 
}
 
@ schnuffie
also ich hab ihn gern, den Vector :-)
man muss ja nicht unbedingt das rad neu erfinden ;)
 
bevor ich den Vector nehmen, verwende ich lieber die neuen Componenten LinkedList oder ArrayList.
 
Ah, es gibt doch noch Gleichgesinnte... :-)

Performancetechnisch sollte man eh auf unsynchronisierte Collections zurückgreifen, da sie schneller sind, wenn nicht unbedingt die Synchronisation erforderlich ist.

P.S.: Hashtable und Vector sind synchronisiert...
 
Schliesse mich illaX an, ich würde auch eher eine LinkedList oder wie Schnuffie eine ArrayList verwenden ;)

Gruss,

Torsten
 
Zurück