Multibehälter können nach verschiedenen Gesichtspunkten gruppiert werden:
Der Unterschied nach Verhalten liegt hauptsächlich beim Zugriff (Lesen/Entfernen) auf die eingetragenen Elemente:
1.1. Wahlfreier Zugriff (Menge, Sack, Assoziativspeicher, Direkte Datei)
1.2. Gebundener Zugriff (Stapel, Warteschlange, sequentielle Datei, Sortierkanal)
Der Unterschied nach Elementtyp liegt darin, welche Arten von Daten gespeichert werden können:
2.1. Fest (im Programmcode) vorgegeben:
2.1.1. Basistyp (int, usw.)
2.1.2. Objekte (z.B. Farbmenge)
2.2. Beliebige Objekte (polymorphe Multibehälter)
2.3. Bei der Ausprägung (durch Registrierungsobjekt) wählbarer Typ (generische Multibehälter)
2.4. Unterklassen einer fest vorgegebenen Klasse (z.B. Aufz bei diskreten Multibehältern)
Die Bestimmung der Größe kann zu unterschiedlichen Zeitpunkten stattfinden:
3.1. Fest (im Programmcode) vorgegeben (z.B. 3 bei
Farbmenge, 20 bei
IntStapel)
3.2. Bei der Ausprägung als Konstruktorparameter anzugeben (Reihungsimplementierungen)
3.3. Dehnbar (z.B. Vector)
3.4. Flexibel (Listenimplementierungen)