Интерфейсы коллекций
В С# под коллекцией понимается группа объектов. Пространство имен System. Collections содержит множество интерфейсов и классов, ко- торые определяют и реализуют коллекции различных типов. Все эти коллекции разработаны на основе набора четко определенных интер- фейсов.
Ряд встроенных реализаций интерфейсов в таких коллекциях как
ArrayList, Hashtable, Stack и Queue, вы можете использовать "как есть".
У каждого программиста также есть возможность реализовать собст- венную коллекцию, но в большинстве случаев достаточно встроенных.
Среда .NET Framework поддерживает три основных типа коллекций:
• общего назначения,
• специализированные,
• ориентированные на побитовую организацию данных.
Коллекции общего назначения реализуют ряд основных структур данных, включая динамический массив, стек и очередь. Сюда также от- носятся словари, предназначенные для хранения пар ключ/значение. Коллекции общего назначения работают с данными типа object, поэтому их можно использовать для хранения данных любого типа.
Мощь коллекций состоит в том, что они могут хранить не только встроенные типы, но и объекты любого типа, включая объекты классов, создаваемых программистами.
Коллекции специального назначения ориентированы на обработку данных конкретного типа или на обработку уникальным способом. На- пример, существуют специализированные коллекции, предназначенные только для обработки строк или однонаправленного списка.
Классы коллекций, ориентированных на побитовую организацию дан- ных, служат для хранения групп битов. Коллекции этой категории под- держивают такой набор операций, который не характерен для коллекций других типов. Например, в известной многим биториентированной кол- лекции BitArray определены такие побитовые операции, как И и исклю- чающее ИЛИ.
Таблица. Интерфейсы коллекций
Интерфейс |
Описание |
IEnumerable |
Определяет метод GetEnumerator(), который поддерживает перечислитель для любого класса коллекции |
IEnumerator |
Содержит методы, которые позволяют поэлементно получать содержимое кол- лекции |
ICollection |
Определяет элементы, которые должны иметь все коллекции |
IList |
Определяет коллекцию, к которой можно получить доступ посредством ин- дексатора |
IDictionary |
Определяет коллекцию, которая со- стоит из пар ключ/значение |
IDictionaryEnumerator |
Определяет перечислитель для кол- лекции, которая реализует интерфейс IDictionary |
IComparer |
Определяет метод compare(), кото- рый выполняет сравнение объектов, хранимых в коллекции |
IHashCodeProvider |
Определяет хеш-функцию |
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.