Wie lösche ich einen Wert in einem Array in Java?

3 Antworten

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

Da gäbs zwei "einfache" Optionen:

  1. Verwende eine java.util.ArrayList anstelle eines Arrays.
  2. 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.