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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...