Java Array mit vorher unbestimmter Länge?

6 Antworten

Nein, das ist ja in Java eine der Grundeigenschaften der Arrays. Sie haben von Anfang an eine feste Länge, die für sie reserviert ist.

Was dir helfen könnte, ist die sogenannte ArrayList.

Woher ich das weiß:Berufserfahrung – Programmierer

Dafür kann man eine sogenannte ArrayList verwenden. Ist aber nicht das Selbe wie eine Array.

Wie schon oft genannt wurde, würde ich in diesem Fall lieber eine Arraylist verwenden.

Bsp:

ArrayList<String> list = new ArrayList<>();
// ...
list.add("Hallo");
list.add("Welt !");

// Ausgabe (es gibt mehrere Methoden,
// ich sehe diese als am einfachsten)
for(String s : list){
System.out.println(s);
}

Du brauchst es aber trotzdem als Array ?

Kein Problem !

String [] array = new String [list.size()];
array = list.toArray(Array);

Die Liste kann jegliche Art an Datentyp "annehmen", also bspw. int, double, char, byte, long, short ....

Grüße

alex

Woher ich das weiß:Hobby

Du kannst ein neues Array anlegen, welches die neue Länge aufnehmen kann und dann den Inhalt vom alten Array in das neue Array hineinkopieren.

Für einen Anfänger wäre dies zugleich eine gute Fingerübung, die ich dir nur empfehlen kann.

Alternativ dazu gibt es auch bereits integrierte Methoden der Standardbibliothek (s. Arrays-Klasse) oder du verwendest statt einem Array eine Liste.

Du könntest den Array erst initialisieren, sobald klar ist, wie viel Speicher benötigt wird. Aber ansonsten musst du eine Liste nehmen