Apps für Android programmieren leicht gemacht!
Arrays dynamisch erweitern

Arrays dynamisch erweitern

Bei der Definition oder auch dem Erstellen von Arrays in Java muss man zu Beginn eine feste Größe/Länge festlegen. Manchmal möchte man allerdings Arrays dynamisch erweitern oder wieder verkleinern.
Dabei müssen wir auf einen kleinen Trick zurückgreifen, da sich festgelegte Arrays nicht in ihrer Größe verändern lassen.
Wir nehmen einfach das vorhandene Array, erstellen ein neues Array mit einem Eintrag mehr und kopieren nun alle Inhalte an die richtige Stelle des neuen Arrays.
Das ganze Prinzip geht natürlich auch genau anders herum, indem wir den Array um einen verkleinern.

Array erweitern:

//Array initalisieren
int[] array = new int[1];
array[0] = 5;

//Array mit Hilfe der eigenen Funktion erweitern.
//wir übergeben das alte Array und die Zahl 6 und überschreiben dann das alte Array mit dem längeren/kürzeren Array unter selbem Namen.
array = erweitern(array, 6);

Hier nun die Funktion:

public int[] erweitern(int[] alt, int anhang){
    int[] neu = new int[alt.lenght + 1];
    for(int i=0; i<alt.lenght; i++){
       neu[i] = alt[i];
    }
    neu[alt.lenght] = anhang;

    return neu;
}

Nach dem Aufruf der Funktion „erweitern“ enthält das Array nun die Zahlen 5 und 6.
In Zeile 2 definieren wir ein neues Array mit einer Länge mehr, als das alte Array. Wir wollen ja ein Array schaffen, das größer/länger ist als das davor.
In Zeile 3-5 gehen wir das alte Array schrittweise durch und beschreiben das neue Array mit den gleichen Werten, wie es das alte Array enthält.
Da das neue Array nun eine Spalte länger ist ist hier nun ein Platz für die Zahl, die wir anhängen möchten.

Achtung: Java fängt bei 0 an zu zählen. Ist ein Array 5 Spalten lang liest und beschreibt man sie mit 0-4!

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld