Коллекция

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Коллекция — программный объект, содержащий в себе, тем или иным обр., набор значений одного или различных типов, и позволяющий обращаться к этим значениям.

Коллекция позволяет записывать в себя значения и извлекать их. Назначение коллекции — служить хранилищем объектов и обеспечивать доступ к ним. Обычно коллекции используются для хранения групп однотипных объектов, подлежащих стереотипной обработке. Для обращения к конкретному элементу коллекции могут использоваться различные методы, в зависимости от её логической организации. Реализация может допускать выполнение отдельных операций над коллекциями в целом. Наличие операций над коллекциями во многих случаях может существенно упростить программирование.

Коллекции и контейнеры

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

  • Коллекция — понятие, применимое к абстрактным типам данных, и не предписывает определённую реализацию через конкретную структуру данных, хотя часто существует устоявшийся выбор.
  • Контейнеры в теории типов — абстракции, которые разрешают коллекциям различных структур, таких как списки и деревья, быть представленными некоторым однородным способом. Унарный контейнер определён индексами S и семейством типов на позициях P, индексируемыми через S: задана функция от типов индексов к типу элементов. Контейнеры можно рассматривать как канонические классы для коллекций различных типов. Списки индексируются через натуральные числа (включая ноль). Для списков определён максимальный индекс. Натуральные числа как индексы изоморфны спискам. Для деревьев структура дерева может быть выражена через индексы без конкретной инфо о содержимом узлов. Индексы элементов структуры в памяти изоморфны путям от корня дерева до его узлов.