Unterschied zwischen generischer und nicht-generischer Sammlung in C

Inhaltsverzeichnis:

Unterschied zwischen generischer und nicht-generischer Sammlung in C
Unterschied zwischen generischer und nicht-generischer Sammlung in C

Video: Unterschied zwischen generischer und nicht-generischer Sammlung in C

Video: Unterschied zwischen generischer und nicht-generischer Sammlung in C
Video: C++ vs. C# – Ein erfahrener Programmierer liefert einen Vergleich 2024, Juni
Anonim

Hauptunterschied – generische vs. nicht-generische Sammlung in C

Eine generische Sammlung ist eine Klasse, die Typsicherheit bietet, ohne von einem Basissammlungstyp ableiten und typspezifische Member implementieren zu müssen. Eine nicht generische Sammlung ist eine spezialisierte Klasse zum Speichern und Abrufen von Daten, die Unterstützung für Stapel, Warteschlangen, Listen und Hashtabellen bietet. Der Hauptunterschied zwischen generischer und nicht generischer Sammlung in C besteht darin, dass eine generische Sammlung stark typisiert ist, während eine nicht generische Sammlung nicht stark typisiert ist.

Was ist eine generische Sammlung in C?

Die nicht generischen Sammlungen wie ArrayList, Queue, Stack usw.kann Elemente verschiedener Datentypen speichern. Beim Abrufen der Elemente sollte der Programmierer sie in den richtigen Datentyp umwandeln. Andernfalls kann es zu einer Laufzeitausnahme kommen. Die generischen Sammlungsklassen können verwendet werden, um dieses Problem zu lösen. Generische Sammlungen speichern Elemente intern in Arrays ihrer tatsächlichen Typen. Daher ist ein Typcasting nicht erforderlich. Sie können verwendet werden, um Elemente des angegebenen Typs oder der angegebenen Typen zu speichern. Einige generische Sammlungsklassen sind List, Dictionary, SortedList, HashSet, Queue, Stack.

Unterschied zwischen generischer und nicht generischer Sammlung in C
Unterschied zwischen generischer und nicht generischer Sammlung in C

Die GenericList enthält Elemente des angegebenen Typs. Es kann die Liste beim Hinzufügen von Elementen entsprechend erweitern. Wenn es eine Anweisung wie folgt gibt, sollten alle Elemente, die in list1 gespeichert werden können, Ganzzahlen sein, Liste list1 – neue Liste ();

Das generische Wörterbuch in C ist eine Sammlung von Schlüsseln und Werten. Wenn es eine Anweisung wie folgt gibt, kann das Objektverzeichnis1 Schlüssel vom Typ Int und Werte vom Typ String speichern.

Wörterbuch dictionary1=neues Wörterbuch ();

Eine generische SortedList-Sammlung speichert Schlüssel-Wert-Paare standardmäßig in aufsteigender Schlüsselreihenfolge. Das folgende Beispiel speichert den Schlüssel vom Typ int und den Wert vom Typ string.

SortierteListe s0=neue SortierteListe ();

Das sind einige Beispiele für Generic Collection in C. Diese Sammlungen können mehrere Werte der angegebenen Datentypen speichern. Sie sind also stark typisiert.

Was ist eine nicht generische Sammlung in C?

Arrays können verwendet werden, um mehrere Elemente zu speichern. Ein Nachteil ist, dass es Elemente des gleichen Datentyps speichern kann. Es gibt Klassen in C, die verwendet werden können, um viele Werte oder Objekte zu speichern, die als Sammlungen bezeichnet werden. Sammlungen helfen beim Speichern, Aktualisieren, Löschen, Suchen und Sortieren von Objekten. Die Größe der Sammlung kann dynamisch vergrößert oder verkleinert werden.

Einige nicht generische Collection-Klassen sind ArrayList, SortedList, Stack, Queue und HashTable. Jede Sammlungsklasse implementiert die IEnumerable-Schnittstelle. Es hilft, die Elemente der Elemente in der Sammlung mit der foreach-Schleife zu durchlaufen.

ArrayList ist eine Alternative zu einem Array. Wenn es ein Array gibt, das 10 Elemente speichern kann, kann es keine 20 Elemente speichern. Wenn das Array mit 10 Elementen initialisiert wurde, aber nur 5 Elemente speichert, wird der Rest nicht verwendet. Daher ist ein Array festgelegt. In einer ArrayList können je nach Index Elemente hinzugefügt oder entfernt werden. Es ermöglicht eine dynamische Speicherzuweisung. Mit der Methode sort können die Elemente aufsteigend sortiert werden.

Die HashTable wird verwendet, um eine Sammlung von Schlüsselwertpaaren darzustellen. Sie sind basierend auf dem HashCode des Schlüssels organisiert. Daher hat jedes Element ein Schlüssel-Wert-Paar. Der Schlüssel kann verwendet werden, um auf ein bestimmtes Element in der Sammlung zuzugreifen. Der Stack stellt den Last-In-First-Out-Zugriff auf Elemente dar. Die Warteschlange wird für den First-In-First-Out-Zugriff auf Elemente verwendet. Dies sind einige der nicht generischen Sammlungen, die von C unterstützt werden. Diese Sammlungen können Elemente verschiedener Typen speichern.

Was ist die Ähnlichkeit zwischen generischer und nicht generischer Sammlung in C?

Sowohl generische als auch nicht generische Sammlungen können verwendet werden, um mehrere Elemente in C zu speichern

Was ist der Unterschied zwischen generischer und nicht-generischer Sammlung in C?

Generische vs. nicht-generische Sammlung in C

Eine generische Sammlung ist eine Klasse, die Typsicherheit bietet, ohne von einem Basissammlungstyp ableiten und typspezifische Mitglieder implementieren zu müssen. Eine nicht generische Sammlung ist eine spezialisierte Klasse zum Speichern und Abrufen von Daten, die Stapel, Warteschlangen, Listen und Hash-Tabellen unterstützt.
Namensraum
Die generischen Sammlungsklassen befinden sich im System. Sammlungen. Generika-Namespace. Die nicht generischen Sammlungsklassen befinden sich im System. Namespace für Sammlungen.
Typ
Eine generische Sammlung ist stark typisiert. Eine nicht generische Sammlung ist nicht stark typisiert.
Elemente speichern
Die generischen Sammlungen speichern Elemente intern in Arrays ihrer tatsächlichen Typen. Die nicht generischen Sammlungen speichern Elemente intern in Objekt-Arrays, sodass sie jede Art von Daten speichern können.

Zusammenfassung – Generische vs. nicht-generische Sammlung in C

In diesem Artikel wurde der Unterschied zwischen generischer und nicht generischer Sammlung in C erörtert. Der Unterschied zwischen einer generischen und einer nicht generischen Sammlung besteht darin, dass eine generische Sammlung stark typisiert ist, während eine nicht generische Sammlung nicht stark typisiert ist.

Empfohlen: