Wie lösche ich einen Wert in einem Array in Java?
Ich will ein Wert in eimem Array löschen, damit die restlichen Werte alle ein Index nach vorne kommen
3 Antworten
Nutzer, der sehr aktiv auf gutefrage ist
Ein Array ist statisch. Du kannst die Größe des Arrays in Java im Anschluss nicht ändern. Es gibt daher drei Möglichkeiten, die Du nutzen kannst:
- Einsatz einer dynamischen Datenstruktur satt des Arrays. In deinem Fall würde sich eine ArrayList anbieten. Die arbeitet intern mit einem Array und würde automatisch ein neues Array anlegen, wenn das genutzte Array zu klein ist.
- Manuell neues Array erzeugen, Daten des alten in das neue Array kopieren
- Die Elemente, die nach dem zu löschenden Element kommen, werden alle eine Stelle nach vorne gerückt. Das freie Feld wird mit einem Default-Wert überschrieben.
Woher ich das weiß:Berufserfahrung
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
Da gäbs zwei "einfache" Optionen:
- Verwende eine java.util.ArrayList anstelle eines Arrays.
- Bau dir eine Methode, die ein neues Array erstellt, das um 1 kürzer ist als das alte, dann die Werte von Index 0 bis n-1 und n+1 bis N vom alten in das neue Array kopiert und zum Schluss das neue Array zurückgibt.
Zu empfehlen wäre Variante 1.
Was für ein Array genau? Es gibt verschiedene. Vlt. hilft dir das schon weiter:
https://stackoverflow.com/questions/642897/removing-an-element-from-an-array-java
Woher ich das weiß:Recherche