# Array vergrößern



## Timmorn (14. Aug 2010)

Hallo zusammen,

ich habe bisher in PHP und Python programmiert. Dort war es kein Problem ein Array nachträglich zu vergrößern (Python) oder es musste gar keine Größe angegeben werden (PHP).

Nun habe ich aber auch nach längerem nachlesen nicht wirklich eine Antwort darauf gefunden wie man das dann in Java macht, da hier die Größe nicht mehr geändert werden kann. 

Als Beispiel: Mein Skript scannt Dokumente. Jedes Bild wird auf die Festplatte geschrieben, aber der Name ebenfalls in einem Array festgehalten, da sie danach wieder zusammen geführt werden. Nun können das aber von 1-unbekannt Seiten sein. Wie macht man das dann in Java? 

Mein einziger Lösungsansatz der mir einfällt, wäre eine Zahl zu nehmen, die sicher nicht überschritten wird... sagen wir 5000. Aber das erscheint mir etwas unprofessionell, denn man kann sicher nicht in jedem Fall abschätzen, wie viele Elemente maximal kommen.

Kann mir da jemand auf die Sprünge helfen?

Danke,
Wolfi


----------



## FArt (14. Aug 2010)

java array vergrößern - Google-Suche
List (Java 2 Platform SE v1.4.2)


----------



## Haave (14. Aug 2010)

Du kannst eine ArrayList (im Package java.util) nehmen, die arbeitet intern mit Arrays und schmeißt alle Daten einfach in ein neues Array, wenn das alte zu klein wird, aber du merkst davon nichts.


----------



## Final_Striker (14. Aug 2010)

Du erstellt ein neues Array das größer ist als das alte und kopiert die Werte aus dem alten in das neu Array.

Oder du nimmt eine dynamischen Datenstruktur wie z.B ein ArrayList. Java ist auch eine Insel – 11.3 Listen


----------



## LoR (14. Aug 2010)

Entweder du machst das ganze händisch, d.h.

1. Erstelle Array der Größe x.
2. Wenn Größe x erreicht, erzeuge neues Array der Größe x + y.
3. Kopiere alle Elemente aus dem ersten Array in das zweite Array.

Alternativ und wohl besser für dich geeignet sind Datenstrukturen, die das o.g. Verhalten bereits implementieren z.B. ArrayList.

ArrayList (Java 2 Platform SE v1.4.2)

//EDIT zu spät


----------



## bronks (14. Aug 2010)

Es hat sich ja schon erledigt


----------



## Timmorn (14. Aug 2010)

Super, vielen Dank, die ArrayList habe ich irgendwie nicht gefunden :-/ Das ist was ich gesucht habe.


----------

