Was ist ein dynamisches Array?

Ein dynamisches Array ist eine Datenstruktur, die in der Computerprogrammierung verwendet wird und mehrere Computerobjekte als einzelne Gruppe enthält. Die Größe kann beliebig geändert werden, um eine unterschiedliche Anzahl von Objekten aufzunehmen. Die Gruppe befindet sich in einem einzigen zusammenhängenden Speicherblock, sodass der Zugriff auf Elemente effizient und schnell erfolgt. Dynamische Arrays werden in Abhängigkeit von der Computersprache, in der sie verwendet werden, auch als Vektoren oder Listen bezeichnet. Trotz dieser Namen kann es sein, dass eine bestimmte Liste oder ein bestimmter Vektor kein dynamisches Array ist, da Listen und Vektoren möglicherweise anders als Arrays und voneinander implementiert sind.

C ++ enthält eine einzelne dynamische Array-Klasse namens vector, die sich in einer Gruppe von Klassen befindet, die als Standardvorlagenbibliothek bezeichnet wird. Auf das Array, das dieser Klasse zugrunde liegt, können Iteratoren oder Indizes zugreifen. Die Möglichkeit, die Größe bei Bedarf zu ändern, ist ein großer Vorteil, aber es kann Programmierer zu einem falschen Sicherheitsgefühl verleiten, da es nicht so robust ist, wie es zu sein scheint. Das dynamische Array, das einen Vektor unterstützt, kann nicht sicherstellen, dass Zugriffsanforderungen gültig sind. Wie bei statischen Arrays können bei dynamischen Arrays Probleme mit der Überprüfung der Grenzen und der Speicherbeschädigung auftreten, wenn ein Programm versucht, auf Speicher zuzugreifen, der ihnen nicht zugewiesen wurde.

Java enthält drei unterschiedliche dynamische Array-Klassen: Vector, ArrayList und CopyOnWriteArrayList. Auf Elemente im Array wird nur über Indizes zugegriffen, und der Versuch, auf Indizes außerhalb des Arrays zuzugreifen, führt normalerweise nicht zu Speicherbeschädigungsproblemen. Die Java-Vektorklasse entspricht in etwa der C ++ - Vektorklasse und ist nicht synchronisiert, um den Zugriff durch mehrere Threads zu ermöglichen. ArrayList und CopyOnWriteArrayList sind dagegen beide threadsicher. Von den dreien ist CopyOnWriteArrayList die arbeitsintensivste Klasse, da das dynamische Array jedes Mal, wenn ein neuer Wert in das Array geschrieben wird, vollständig neu erstellt wird.

Dynamische Arrays werden unabhängig von der verwendeten Computersprache im Wesentlichen auf die gleiche Weise implementiert. Abhängig von einer bestimmten Sprache können jedoch auch andere Funktionen darauf aufbauen. Wie statische Arrays beschränken dynamische Arrays nicht den Objekttyp, der in ihnen gespeichert werden kann, solange sie alle denselben Objekttyp haben. Ein Programmierer muss niemals direkt auf ein dynamisches Array zugreifen. Dies kann immer über eine Klasse erfolgen, die das Array für eine einfache Verwendung umschließt. Die ordnungsgemäße Verwendung dieser Arrays kann einem Programmierer helfen, die Daten innerhalb des Codes zu organisieren und verständlichen Code zu erstellen, der sich für eine einfache Wartung eignet.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?