Java Array mit vorher unbestimmter Länge?
Guten Tag,
ich bin gerade am Lernen von der Programmiersprache Java und habe ein Problem. Aus vielen anderen Sprachen kenne ich bereits Arrays, die von sich aus eine unbestimmte Länge haben.
In Java habe ich jetzt das Problem, dass ich immer direkt angeben muss, wie lang ein Array werden soll. Kann man irgendwie machen, dass ein Array länger wird, wenn man einen String hinzufügt?
Danke für Antworten schon im Vorhinein,
MfG
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.
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
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