Container

Die Bezeichnung Container wird in der Software-Entwicklung benutzt, aber auch in der Netzwerktechnik und bei Online-Diensten. Generell sind Container Behälter, die Objekte gleichen Typs aufnehmen. Das kann sich auf Dateiformate beziehen in denen Bitströme für die Übertragung zusammengefasst werden. Die Bezeichnung Containerformat wird bei Dateiformaten für Audio, Video und den Kopierschutz benutzt, außerdem in der Synchronous Digital Hierarchy (SDH).


  1. In der Software-Entwicklung wird als Container ein Objekt bezeichnet, welches wiederum Objekte gleichen Typs aufnimmt. Eine Klasse mit der Hauptaufgabe, Objekte zu verwalten, wird Container genannt. Beispiele sind Listen, Vektoren und assoziative Felder. Im Allgemeinen kann man Objekte in einen Container einfügen und daraus entfernen.

    Ein Container ist ein abstraktes Objekt, welches gleichartige Daten speichert. Dabei organisiert ein Container den benötigten Speicherplatz und stellt Methoden - auch Elementfunktionen genannt - zur Verfügung, um auf die Daten zuzugreifen. Der Zugriff auf die Daten erfolgt entweder direkt oder über Iteratoren, mit denen auf einzelne Datenelemente des Containers zugegriffen werden kann. Da bei der Entwicklung von Software häufig gleichartige Strukturen benötigt werden, bilden Container diese Strukturen - Daten und Funktionen - gleichsam übergeordnet ab. Dabei basieren Container auf Templates; was bedeutet, dass beliebige Datentypen in den Containern abgelegt werden können. Zudem haben viele Container gleichartige Elementfunktionen, um Daten zu bearbeiten.

    Das Konzept der Container in C++ und Java unterscheidet in

    • Sequentielle Container,
    • Container-Adaptoren und
    • Assoziative Container.

    Bei den sequentiellen Containern sind deren Elemente als lineare Folge angeordnet. Hierzu gehören dynamische Arrays (vector), Verknüpfte Listen (list) oder auch eine Queue "mit zwei Enden" (deque). Das bedeutet, dass eine deque als Sequenz dahingehend optimiert ist, dass die Operationen an beiden Enden so effizient wie bei Listen sind.

    Container-Adaptoren wiederum basieren auf Containern, um spezielle Schnittstellen zu liefern. Als Beispiel dafür können Warteschlangen (queue), Stapel (stack) und die Prioritätswarteschlange (PriorityQueue) genannt werden. Letztendlich haben die Elemente von assoziativen Containern einen Schlüsselwert und sind in einem Binärbaum sortiert. Dazu gehören u.a. Bäume (set), die Sequenz von Schlüssel-/Werte-Paaren (map) oder auch Bitmengen (bitset).

  2. In der SDH-Hierachie sind Container Bitströme der Eingangsbitraten. Unter einem Container wird die Grundpackungseinheit, die Nutzlastkapazität für die Tributary Units (TU) verstanden. Die Bitrate eines Containers ist nominell synchron zur Grunddatenrate von SDH. Durch Hinzufügen eines Path Overhead (POH) wird aus dem Container ein virtueller Container.

Informationen zum Artikel
Deutsch: Container
Englisch: container
Veröffentlicht: 26.02.2017
Wörter: 398
Tags: #Entwicklung, Codierung
Links: Array, Audio, Bitrate, C++, Containerformat