Verschil tussen generieke en niet-generieke collectie in C

Inhoudsopgave:

Verschil tussen generieke en niet-generieke collectie in C
Verschil tussen generieke en niet-generieke collectie in C

Video: Verschil tussen generieke en niet-generieke collectie in C

Video: Verschil tussen generieke en niet-generieke collectie in C
Video: Waardegedreven zorg met uitkomsten én kosten -deelsessie Kwaliteit en kosten benchmarken tussen SAZ 2024, November
Anonim

Belangrijk verschil - Generieke versus niet-generieke verzameling in C

Een generieke verzameling is een klasse die typeveiligheid biedt zonder af te leiden van een basisverzamelingstype en typespecifieke leden te implementeren. Een niet-generieke verzameling is een gespecialiseerde klasse voor het opslaan en ophalen van gegevens die ondersteuning biedt voor stapels, wachtrijen, lijsten en hashtabellen. Het belangrijkste verschil tussen generieke en niet-generieke verzameling in C is dat een generieke verzameling sterk is getypt, terwijl een niet-generieke verzameling niet sterk is getypt.

Wat is generieke verzameling in C?

De niet-generieke collecties zoals ArrayList, Queue, Stack, etc.kan elementen van verschillende gegevenstypen opslaan. Bij het verkrijgen van de items moet de programmeur ze naar het juiste gegevenstype typen. Anders kan het een runtime-uitzondering veroorzaken. De generieke collectieklassen kunnen worden gebruikt om dit probleem op te lossen. Generieke collecties slaan elementen intern op in arrays van hun werkelijke typen. Type casting is daarom niet nodig. Ze kunnen worden gebruikt om elementen van het opgegeven type of typen op te slaan. Sommige generieke verzamelklassen zijn List, Dictionary, SortedList, HashSet, Queue, Stack.

Verschil tussen generieke en niet-generieke verzameling in C
Verschil tussen generieke en niet-generieke verzameling in C

De GenericList bevat elementen van het gespecificeerde type. Het kan de lijst dienovereenkomstig vergroten bij het toevoegen van elementen. Als er een instructie is als volgt, moeten alle elementen die in lijst1 kunnen worden opgeslagen gehele getallen zijn, Lijst lijst1 – nieuwe lijst ();

Het algemene woordenboek in C is een verzameling sleutels en waarden. Als er een instructie is als volgt, kan de object dictionary1 sleutels van het type int en waarden van het type string opslaan.

Woordenboek woordenboek1=nieuw woordenboek ();

Een Generic SortedList-verzameling slaat sleutel- en waardeparen standaard op in oplopende volgorde van sleutel. In het onderstaande voorbeeld wordt de sleutel van het int-type en de waarde van het tekenreekstype opgeslagen.

SortedList s0=nieuwe SortedList ();

Dit zijn enkele voorbeelden voor Generic Collection in C. In deze verzamelingen kunnen meerdere waarden van de opgegeven gegevenstypen worden opgeslagen. Ze zijn dus sterk getypt.

Wat is niet-generieke verzameling in C?

Arrays kunnen worden gebruikt om meerdere elementen op te slaan. Een nadeel is dat het elementen van hetzelfde gegevenstype kan opslaan. Er zijn klassen in C die kunnen worden gebruikt om veel waarden of objecten op te slaan die verzamelingen worden genoemd. Collecties helpen bij het opslaan, bijwerken, verwijderen, zoeken en sorteren van objecten. De grootte van de collectie kan dynamisch worden vergroot of verkleind.

Sommige niet-generieke collectieklassen zijn ArrayList, SortedList, Stack, Queue en HashTable. Elke collectieklasse implementeert de IEnumerable-interface. Het helpt om de elementen van de items in de collectie te doorlopen met behulp van de foreach-lus.

ArrayList is een alternatief voor een array. Als er een array is die 10 elementen kan opslaan, kan deze geen 20 elementen bevatten. Als de array is geïnitialiseerd op 10 elementen maar slechts 5 elementen opslaat, wordt de rest niet gebruikt. Daarom is een array vast. In een ArrayList is het mogelijk om afhankelijk van de index elementen toe te voegen of te verwijderen. Het maakt dynamische geheugentoewijzing mogelijk. De sorteermethode kan worden gebruikt om de elementen in oplopende volgorde te sorteren.

De HashTable wordt gebruikt om een verzameling sleutelwaardeparen weer te geven. Ze zijn georganiseerd op basis van de hashCode van de sleutel. Daarom heeft elk element een sleutelwaardepaar. De sleutel kan worden gebruikt om toegang te krijgen tot een bepaald element in de collectie. De stapel vertegenwoordigt de last in, first out toegang tot items. De wachtrij wordt gebruikt voor first in first out toegang tot items. Dit zijn enkele van de niet-generieke collecties die door C worden ondersteund. Deze collecties kunnen verschillende soorten elementen bevatten.

Wat is de overeenkomst tussen generieke en niet-generieke verzameling in C?

Zowel generieke als niet-generieke verzamelingen kunnen worden gebruikt om meerdere elementen in C op te slaan

Wat is het verschil tussen generieke en niet-generieke verzameling in C?

Generieke versus niet-generieke collectie in C

Een generieke verzameling is een klasse die typeveiligheid biedt zonder af te leiden van een basisverzamelingstype en typespecifieke leden te implementeren. Een niet-generieke verzameling is een gespecialiseerde klasse voor het opslaan en ophalen van gegevens die ondersteuning biedt voor stapels, wachtrijen, lijsten en hashtabellen.
Naamruimte
De Generic Collection-klassen bevinden zich in het systeem. Collecties. Algemene naamruimte. De niet-generieke collectieklassen bevinden zich in het systeem. Naamruimte collecties.
Type
Een generieke verzameling is sterk getypt. Een niet-generieke verzameling is niet sterk getypt.
Elementen opslaan
De generieke verzamelingen slaan elementen intern op in arrays van hun werkelijke typen. De niet-generieke collecties slaan elementen intern op in objectarrays, zodat het elk type gegevens kan opslaan.

Samenvatting – Generieke versus niet-generieke collectie in C

Dit artikel besprak het verschil tussen generieke en niet-generieke verzameling in C. Het verschil tussen generieke en niet-generieke collectie is dat een generieke collectie sterk getypeerd is, terwijl een niet-generieke collectie niet sterk getypeerd is.

Aanbevolen: