8 Auflistungsklassen (Collections)
8.1 Grundlagen
Ein charakteristisches Merkmal der Arrays ist die freie Verfügbarkeit ihrer Indizes. Sie können ein Element einem Array an einer x-beliebigen Position hinzufügen – unabhängig davon, ob der Index bereits von einem anderen Element belegt ist oder nicht. Wird ein Element aus einem Array entfernt, bleibt ein unbesetzter Index zurück. Ein Array ist somit ein statischer Pool freier und belegter Elementpositionen ohne die Fähigkeit, sich bei Änderungen dynamisch anpassen zu können.
An dieser Stelle treten Klassen in Erscheinung, die ähnlich den Arrays als Container meist typgleicher Elemente dienen. Im Unterschied zu den herkömmlichen Arrays arbeiten diese Klassen jedoch dynamisch: Sie vergrößern ihre Kapazität entsprechend der Anzahl der Einträge und haben keine »leeren« Indizes. Ganz allgemein werden diese Klassen als Collections, als Auflistungen oder ganz einfach nur als Listen bezeichnet und sind in den beiden Namespaces
- System.Collections
- System.Collections.Specialized
zu finden. Jede Klasse unterscheidet sich von der anderen durch besondere Fähigkeiten und Charakteristiken – sei es die interne Verwaltung der Objekte, der Zugriff auf die Einträge oder die Geschwindigkeit, mit der innerhalb einer Liste nach einem bestimmten Eintrag gesucht werden kann.
Es gibt noch eine zweite Gruppe von Auflistungen: Es handelt sich um die sogenannten generischen Listenklassen. Es sei an dieser Stelle schon verraten, dass es sich dabei um typisierte Listen handelt. Auf diese Gruppe werden wir in Kapitel 9 zu sprechen kommen, nachdem wir das Thema »Generics« allgemein behandelt haben.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.