2010-12-01 4 views
0

Ich habe eine Prozedur, die Objekte rekursiv generiert. Die Prozedur nimmt das "letzte" Objekt und erzeugt ein "neues" Objekt, das "neue" Objekt wird dann als das "letzte" Objekt angesehen und so weiter, bis ein "neues" Objekt nicht erzeugt werden kann.Wie kann ich eine Variable erstellen, die eine unbekannte Anzahl von Objekten enthält?

Ich muss alle generierten Objekte speichern. Ich dachte, dafür ein Array zu verwenden, aber das Problem ist, dass ich nicht im Voraus weiß, wie viele Objekte generiert werden (also kann ich die Länge des Arrays nicht angeben, wenn ich es deklariere).

Gibt es einen Weg in Java Arrays ohne feste Länge zu haben? Oder vielleicht sollte ich nicht Array sondern etwas anderes verwenden?

Antwort

6

Go für ArrayList

List<YourClass> list = new ArrayList<YourClass>(); 
list.add(obj1); 
list.add(obj2); 
list.add(obj3); 
. 
. 
. 
+0

Fixed: s/Array/Array/ –

+0

Sollte es sein? ArrayList list = new ArrayList (); '? – Roman

+0

@Roman 'List' ist die Schnittstelle' ArrayList' ist die Implementierung von 'List', –

1

so würde Ihr Code ein bisschen wie folgt aussehen:

value = something; 
objects = new ArrayList(); 
objects.add(value); 
while (true) { 
    value = function(value); 
    if (value == null) 
     break 
    objects.add(value); 
} 
Verwandte Themen