Ключова разлика – Обща срещу необща колекция в C
Общата колекция е клас, който осигурява безопасност на типа, без да се налага да произлиза от базов тип колекция и да прилага специфични за типа членове. Негенеричната колекция е специализиран клас за съхранение и извличане на данни, който осигурява поддръжка за стекове, опашки, списъци и хеш-таблици. Ключовата разлика между Generic и Non-generic Collection в C е, че Generic Collection е строго типизирана, докато Non-Generic Collection не е строго типизирана.
Какво е Generic Collection в C?
Негенеричните колекции като ArrayList, Queue, Stack и др.може да съхранява елементи от различни типове данни. Когато получава елементите, програмистът трябва да ги преведе към правилния тип данни. В противен случай може да причини изключение по време на изпълнение. Обобщените класове за събиране могат да се използват за преодоляване на този проблем. Генеричните колекции съхраняват елементи вътрешно в масиви от техните действителни типове. Следователно не е необходимо типово отливане. Те могат да се използват за съхраняване на елементи от посочения тип или типове. Някои общи класове за колекции са List, Dictionary, SortedList, HashSet, Queue, Stack.
GenericList съдържа елементи от определен тип. Може съответно да увеличи списъка при добавяне на елементи. Когато има израз, както следва, всички елементи, които могат да бъдат съхранени в списъка1, трябва да бъдат цели числа, Списък списък1 – нов списък ();
Общият речник в C е колекция от ключове и стойности. Когато има израз, както следва, речникът на обекта1 може да съхранява ключове от тип int и стойности от тип низ.
Речник речник1=нов речник ();
Колекция Generic SortedList съхранява двойки ключ и стойност във възходящ ред на ключ по подразбиране. Примерът по-долу съхранява ключ от тип int и стойност от тип низ.
SortedList s0=нов сортиран списък ();
Това са няколко примера за Generic Collection в C. Тези колекции могат да съхраняват множество стойности на посочените типове данни. Така че те са строго типизирани.
Какво е негенерична колекция в C?
Масивите могат да се използват за съхраняване на множество елементи. Един недостатък е, че може да съхранява елементи от същия тип данни. В C има класове, които могат да се използват за съхраняване на много стойности или обекти, известни като колекции. Колекциите помагат за съхраняване, актуализиране, изтриване, търсене, сортиране на обекти. Размерът на колекцията може да се увеличава или намалява динамично.
Някои негенерични класове за колекция са ArrayList, SortedList, Stack, Queue и HashTable. Всеки клас на колекция имплементира интерфейса IEnumerable. Помага за итерация през елементите на елементите в колекцията с помощта на цикъла foreach.
ArrayList е алтернатива на масив. Ако има масив, който може да съхранява 10 елемента, той не може да съхранява 20 елемента. Ако масивът е инициализиран до 10 елемента, но съхранява само 5 елемента, тогава останалото не се използва. Следователно масивът е фиксиран. В ArrayList е възможно да добавяте или премахвате елементи в зависимост от индекса. Позволява динамично разпределение на паметта. Методът за сортиране може да се използва за сортиране на елементите във възходящ ред.
HashTable се използва за представяне на колекция от двойки ключ стойност. Те са организирани на базата на hashCode на ключа. Следователно всеки елемент има двойка ключ стойност. Ключът може да се използва за достъп до определен елемент в колекцията. Стекът представлява последен влязъл, пръв излязъл достъп до елементи. Опашката се използва за първи достъп до елементи. Това са някои от негенеричните колекции, поддържани от C. Тези колекции могат да съхраняват елементи от различни типове.
Каква е приликата между генеричната и негенеричната колекция в C?
Както генеричната, така и негенеричната колекция могат да се използват за съхраняване на множество елементи в C
Каква е разликата между генеричната и негенеричната колекция в C?
Обща срещу необща колекция в C |
|
Общата колекция е клас, който осигурява безопасност на типа, без да се налага да произлиза от базов тип колекция и да внедрява специфични за типа членове. | Негенеричната колекция е специализиран клас за съхранение и извличане на данни, който осигурява поддръжка за стекове, опашки, списъци и хеш таблици. |
Пространство от имена | |
Класовете Generic Collection са в системата. Колекции. Пространство от имена на генерични продукти. | Негенеричните класове на колекцията са в системата. Пространство от имена на колекции. |
Тип | |
Общата колекция е строго въведена. | Необщата колекция не е строго въведена. |
Съхраняване на елементи | |
Общите колекции съхраняват елементи вътрешно в масиви от техните действителни типове. | Негенеричните колекции съхраняват елементи вътрешно в обектни масиви, така че да могат да съхраняват всякакъв тип данни. |
Резюме – Обща срещу необща колекция в C
Тази статия обсъждаше разликата между Generic и Non-generic Collection в C. Разликата между Generic и Non-generic Collection е, че Generic Collection е строго типизирана, докато Non-generic Collection не е строго типизирана.