Zum Inhalt springen

Arrays nach löschen eines Arrays nachrücken?!


Empfohlene Beiträge

Geschrieben

Hallo..

Und zwar ein ganz einfaches Beispiel für mein Problem:

Ich habe einen Array:

string[0] = bla

string[1] = bla

string[2] = bla

string[3] = bla

string[4] = bla

Jetzt wird der array bei index 2 beispielsweise rausgelöscht...

string[0] = bla

string[1] = bla

string[2] = NULL

string[3] = bla

string[4] = bla

Wie bekomme ich es nun hin, dass alle stellen die dahinter sin nach oben aufrücken?

==>>

string[0] = bla

string[1] = bla

string[2] = bla

string[3] = bla

string[4] = NULL

Hoffe mir kann da jemand weiterhelfen...

Gruß

Geschrieben

Wie flashpixx schon sagte gibt es dafür Container-Klassen.

Wenn Du das damit machen kannst/darfst, dann würde ich in diesem Fall allerdings eine LinkedList vorschlagen, denn in der verketteten Liste von Einträgen ist sehr viel performanter einzelne Elemente in der Mitte ein- oder auszutragen.

Es gibt aber natürlich für die diversen Anwendungsfälle verschiedene Container-Klassen. Einfach mal nachlesen.

Geschrieben

Wenn du einen Eintrag (x) im array löschst musst danach einfach die Einträge mit höherem index um 1 verschieben. Das kann man z.B. mit einer for-Schleife machen.


for(int zähler = x+1; x < array.length; zähler++){

   array[zähler-1] = array[zähler];

}

array[length-1] = null;

Wenn du jedoch so etwas häufiger machst wäre es besser anstatt mit Arrays mit verketteten Listen zu arbeiten. Also z.B. LinkedList.

Auch bei einer ArrayList müssen beim löschen alle weiteren Einträge verschoben werden. Das kostet leider schon ein bisschen was an Zeit und Rechenleistung. Bei einer LikedList hingegen muss lediglich eine Referenz verändert werden. Nachteil von verketteten Listen ist der Zugriff auf einen bestimmten Eintrag. Wenn man die Listen nicht grade sequentiell liest muss immer die gesamte Liste bis zum Eintrag (x) durchlaufen werden. Natürlich nimmt dir bei einer LinkedList die Java-API diesen Aufwand ab, aber im Hintergrund passiert das natürlich trotzdem.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...