Loading...
X

Array vs. Listen

DS = Datenstruktur DT = Datentyp
Array
Listen
statische DS dynamische DS
feste länge beliebig erweiterbar
es kann ungenutzten Speicherplatz geben es gibt keinen verschnitt
schneller als Listen langsam
der Platz bleibt immer identisch * beim löschen wird automatisch eine neue Verkettung gebildet (es wird aufgerutscht) *
* noch einmal kurz ausführlich was das bedeutet
Angenommen ihr habt das folgende Array:

1
2
3
4
int[] x = new int[10];
x[4] = 12;
x[5] = 15;
x[6] = 30;

Nun weist ihr x[6] den Wert von x[5] zu. Dann haben jetzt x[6] und x[5] den selben Wert.
Dennoch wird die Position von x[4] immer 12 sein, solange ihr diesen nicht explizit ändert.
In einer Liste ist das allerdings anders. Wenn ihr dort jetzt einen Wert an Stelle 5 löscht, so wird die vorherige 6, nun eure neue 5 sein.
Das macht ein direktes ansprechen einer Position so ziemlich unmöglich. Denn die Positonen können sich jederzeit wieder ändern.(siehe auch im Video gleich hier nach)

kurze Einführung in Listen
kleiner Spoiler
Array und Listen werden später noch um die Baumstruktur (Binärbaum) erweitert. Diese ist ebenfalls schneller als die Liste.

Eine weitere Besonderheit bei Listen ist, das bei ihnen der Datensatz endgültig gelöscht werden kann. Bei einem Array kann man nur einen reservierten Platz mit einem neuen Datensatz überschreiben, aber nie endgültig löschen.
Bei der Liste hingegen übernimmt dies automatisch der Garbage Collector

Garbage Collector