Разница между универсальной и неуниверсальной коллекцией в C

Оглавление:

Разница между универсальной и неуниверсальной коллекцией в C
Разница между универсальной и неуниверсальной коллекцией в C

Видео: Разница между универсальной и неуниверсальной коллекцией в C

Видео: Разница между универсальной и неуниверсальной коллекцией в C
Видео: Обобщения в C# | производительность | коллекции | list vs arraylist | C# ООП | # 84 2024, Июнь
Anonim

Ключевая разница - универсальная и неуниверсальная коллекция в C

Общая коллекция - это класс, который обеспечивает безопасность типов без необходимости наследования от базового типа коллекции и реализации членов, специфичных для типа. Неуниверсальная коллекция - это специализированный класс для хранения и извлечения данных, обеспечивающий поддержку стеков, очередей, списков и хэш-таблиц. Основное различие между универсальной и неуниверсальной коллекциями в C заключается в том, что универсальная коллекция строго типизирована, а неуниверсальная коллекция - нет.

Что такое Generic Collection в C?

Неуниверсальные коллекции, такие как ArrayList, Queue, Stack и т. д.может хранить элементы различных типов данных. При получении элементов программист должен привести их к правильному типу данных. В противном случае это может вызвать исключение во время выполнения. Для преодоления этой проблемы можно использовать общие классы коллекций. Универсальные коллекции хранят элементы внутри массивов их фактических типов. Поэтому приведение типов не требуется. Их можно использовать для хранения элементов указанного типа или типов. Некоторые общие классы коллекций: List, Dictionary, SortedList, HashSet, Queue, Stack.

Разница между универсальной и неуниверсальной коллекцией в С
Разница между универсальной и неуниверсальной коллекцией в С

Общий список содержит элементы указанного типа. Он может соответственно увеличивать список при добавлении элементов. Когда есть следующий оператор, все элементы, которые могут быть сохранены в list1, должны быть целыми числами, Список list1 – новый список ();

Универсальный словарь в C представляет собой набор ключей и значений. Если имеется следующий оператор, словарь объекта1 может хранить ключи типа int и значения строкового типа.

Словарь словарь1=новый словарь ();

Коллекция Generic SortedList по умолчанию хранит пары ключей и значений в порядке возрастания ключа. В приведенном ниже примере хранится ключ типа int и значение типа string.

SortedList s0=новый SortedList();

Это несколько примеров универсальной коллекции в C. Эти коллекции могут хранить несколько значений указанных типов данных. Итак, они строго типизированы.

Что такое неуниверсальная коллекция в C?

Массивы можно использовать для хранения нескольких элементов. Одним из недостатков является то, что он может хранить элементы одного и того же типа данных. В C есть классы, которые можно использовать для хранения многих значений или объектов, известных как коллекции. Коллекции помогают хранить, обновлять, удалять, искать, сортировать объекты. Размер коллекции можно динамически увеличивать или уменьшать.

Некоторыми неуниверсальными классами коллекций являются ArrayList, SortedList, Stack, Queue и HashTable. Каждый класс коллекции реализует интерфейс IEnumerable. Это помогает перебирать элементы элементов в коллекции с помощью цикла foreach.

ArrayList является альтернативой массиву. Если есть массив, который может хранить 10 элементов, он не может хранить 20 элементов. Если массив инициализирован 10 элементами, но хранит только 5 элементов, то остальные элементы не используются. Таким образом, массив является фиксированным. В ArrayList можно добавлять или удалять элементы в зависимости от индекса. Это позволяет динамическое выделение памяти. Метод sort можно использовать для сортировки элементов в порядке возрастания.

HashTable используется для представления набора пар ключ-значение. Они организованы на основе хэш-кода ключа. Следовательно, у каждого элемента есть пара ключ-значение. Ключ можно использовать для доступа к определенному элементу в коллекции. Стек представляет доступ к элементам в порядке поступления. Очередь используется для доступа к элементам в порядке поступления. Это некоторые из неуниверсальных коллекций, поддерживаемых C. Эти коллекции могут хранить элементы разных типов.

В чем сходство между универсальной и неуниверсальной коллекцией в C?

Общую и неуниверсальную коллекцию можно использовать для хранения нескольких элементов в C

В чем разница между универсальной и неуниверсальной коллекцией в C?

Generic vs. Non-Generic Collection в C

Общая коллекция - это класс, который обеспечивает безопасность типов без необходимости наследования от базового типа коллекции и реализации членов, специфичных для типа. Неуниверсальная коллекция - это специализированный класс для хранения и извлечения данных, обеспечивающий поддержку стеков, очередей, списков и хеш-таблиц.
Пространство имен
Классы Generic Collection находятся в Системе. Коллекции. Пространство имен Generics. Классы Non-generic Collection находятся в Системе. Пространство имен коллекций.
Тип
Общая коллекция строго типизирована. Неуниверсальная коллекция не является строго типизированной.
Сохранение элементов
Общие коллекции хранят элементы внутри массивов их фактических типов. Неуниверсальные коллекции хранят элементы внутри массивов объектов, поэтому они могут хранить данные любого типа.

Резюме - Универсальная и неуниверсальная коллекция в C

В этой статье обсуждалась разница между универсальной и неуниверсальной коллекцией в C. Разница между универсальной и неуниверсальной коллекциями заключается в том, что общая коллекция строго типизирована, а неуниверсальная коллекция строго типизирована.

Рекомендуемые: