Array löschen

Neue Frage »

Auf diesen Beitrag antworten »
Björn Array löschen

Meine Frage:
Hi :-)

Ist es möglich ein String Array zu löschen?

Ich habe ein neues String Array und einen Button (JavaFX) angelegt:

String [] array = new String [100];

Jetzt wurden in dem Array einige Strings gespeichert und zum Beispiel bei einem Klick auf den Button clear sollen die Werte im Array gelöscht werden.



Meine Ideen:
Habe jetzt mit Google unset(array) gefunden, bekomme dadurch aber eine Exception. Gibt es eine andere Möglichkeit?

Vielen Dank :-)
 
Auf diesen Beitrag antworten »
eulerscheZahl

Das einfachste ist, einfach ein neues Array zu erzeugen.
code:
1:
array = new String [100];

damit werden die alten Inhalte verworfen.
Alternativ kannst du den Inhalt auch einzeln löschen:
code:
1:
2:
for (int i = 0; i < array.length; i++)
    array[i] = null;


So wie ich das verstehe, brauchst du nicht immer 100 Werte, sondern häufig weniger, oder?
Wenn dem so ist, schau dir mal die ArrayList an. Ist so etwas wie ein Array, das seine Größe automatisch ändern kann.
code:
1:
2:
3:
ArrayList<String> list = new ArrayList<>();
list.add("inhalt");
System.out.println(list.get(0));
Auf diesen Beitrag antworten »
Björn

Ah, sehr cool. Die ArrayList kannte ich noch nicht, ist aber für meinen Fall perfekt :-)

Dankeschön Daumen hoch
Auf diesen Beitrag antworten »
Björn

Noch eine kurze Frage:

Wenn ich mit der ArrayList arbeite und setze zum Beispiel an der Stelle array[3] = null;
Verkürzt sich meine Array-Länge dann dementsprechend und rücken nachfolgende Stellen nach vorne?

Vielen Dank :-)
 
Auf diesen Beitrag antworten »
eulerscheZahl

Nein.
Auf diesen Beitrag antworten »
Björn

Wie wäre so etwas denn dann möglich? Müsste ich da über Zuweisungen gehen, dass dann array[i} = array[i+2] ist?
Auf diesen Beitrag antworten »
eulerscheZahl

Mit remove bzw. removeRange kannst du Einträge wieder aus der Liste löschen. Mit clear kannst du alles löschen. Mit add kannst du auch einen Index festlegen, wo der Eintrag eingefügt werden soll - wenn du das nicht machst, kommt er eben ans Ende.
Auf diesen Beitrag antworten »
Björn

Besten Dank für die Antworten :-)
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »