Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Array löschen (http://www.informatikerboard.de/board/thread.php?threadid=2345)


Geschrieben von Björn am 14.06.2015 um 09:21:

  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 :-)



Geschrieben von eulerscheZahl am 14.06.2015 um 09:36:

 

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));



Geschrieben von Björn am 14.06.2015 um 09:47:

 

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

Dankeschön Daumen hoch



Geschrieben von Björn am 16.06.2015 um 17:46:

 

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 :-)



Geschrieben von eulerscheZahl am 16.06.2015 um 17:50:

 

Nein.



Geschrieben von Björn am 16.06.2015 um 17:53:

 

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



Geschrieben von eulerscheZahl am 16.06.2015 um 18:42:

 

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.



Geschrieben von Björn am 16.06.2015 um 20:00:

 

Besten Dank für die Antworten :-)


Forensoftware: Burning Board, entwickelt von WoltLab GmbH