Arrays

Bevor wir über (noch) kompliziertere Datentypen sprechen können, müssen wir über Arrays sprechen. Arrays kann man immer dann benutzen, wenn man eine bestimmte Menge eines bestimmten Datentyps einen anderen Datentyp ergibt. Versuchen wir das doch mal rein Verständnis halber mit Bananen.

Nehmen wir also an, Banane wäre ein Datentyp. Ich kann eine bestimmte Menge – üblicherweise exakt ein Kilo – in eine Bananenkiste stapeln. Dadurch kann einen neuen Datentyp «Bananenkiste» erhalten. Mehrere Bananenkisten zusammen ergeben einen Frachtcontainer (Nein – ich weiss nicht wie viele das sind – es geht hier ums Prinzip, nicht um Logistik), und so weiter.

In der IT werden Arrays sehr gerne benutzt, da digital alles auf eine Abfolge von Nullen und Einsen hinausläuft. Alles ist ein Array von einem Bit, wenn man so möchte. Trotzdem wird meistens direkt mit Bytes gearbeitet, also mit 8 Bit Blöcken – und ja: Ein Byte ist im Prinzip auch ein Array aus 8 Bit – vollkommen korrekt.

Alles Digitale könnte man also – wenn man wollte – als Array aus Bytes ausdrücken. Dieser Blogpost? Ein Array aus Bytes, ja. Deines Lieblings Netflix Serie? Auch ja!

List<>

In vielen Programmiersprachen gibt es zusätzlich noch Listen. Diese unterscheiden sich von Arrays dadurch, dass die exakte Anzahl im Voraus nicht bekannt ist (Ich weiss noch nicht, wie viele Bananen ich einpacken will). Das ist sozusagen eine Bananenkiste, welche automatisch mitwächst, wenn man mehr Bananen hineinlegt. Auf klassischen Festplatten haben Listen ein Nachteil: sie sind unter Umständen weniger schnell als Arrays. Wenn die Bananenkiste wachsen soll, der Frachtcontainer aber bereits voll ist, dann bleibt nichts anderes übrig, als eine neue Bananenkiste in einem neuen Container zu beginnen und die alte Kiste mit dem Hinweis zu versehen, dass es noch mehr Bananen in einer anderen Kiste gibt. Beim Einsammeln der Bananen habe ich dadurch länger, weil ich 2 Container abklappern muss. Wenn ich dagegen von Anfang an weis, wie viele Bananen ich einlagern muss, kann ich den entsprechenden Platz im Container reservieren. Mit dem wachsenden Einsatz von SSD’s wird dieser Nachteil aber je länger je mehr relativiert.

Veröffentlicht in Daten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert