Коллекция (абстрактный тип данных)
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2014 г. ) |
В компьютерном программировании коллекция — это абстрактный тип данных , представляющий собой группу элементов, которые можно использовать полиморфным образом.
Часто элементы имеют один и тот же тип данных , например int или string . Иногда элементы происходят от общего типа; даже происходящий от самого общего типа языка программирования, такого как объект или вариант .
Хотя коллекцию легко спутать с реализациями в языках программирования, коллекция как абстрактное понятие относится к математическим концепциям, которые могут быть неправильно поняты, когда основное внимание уделяется реализации. Например, очередь приоритетов часто реализуется в виде кучи, а ассоциативный массив часто реализуется в виде хеш-таблицы, поэтому в этой предпочтительной реализации эти абстрактные типы часто называются «кучей» или «хешем». это концептуально неверно.
Подтипы
[ редактировать ]Другие абстрактные типы данных более специфичны, чем коллекции.
Линейный
[ редактировать ]Некоторые коллекции поддерживают линейный порядок элементов – с доступом к одному или обоим концам. Структура данных, реализующая такую коллекцию, не обязательно должна быть линейной. Например, очередь приоритетов часто реализуется в виде кучи , которая представляет собой разновидность дерева.
Известные линейные коллекции включают:
Ассоциативный
[ редактировать ]Некоторые коллекции интерпретируются как своего рода функция: при наличии входных данных коллекция выдает выходные данные.
Известные ассоциативные коллекции включают:
Набор можно интерпретировать как специализированное мультимножество, которое, в свою очередь, представляет собой специализированный ассоциативный массив, в каждом случае ограничивая возможные значения — рассматривая набор, представленный его индикаторной функцией .
Выполнение
[ редактировать ]Будучи абстрактным типом данных, коллекция не предписывает реализацию, хотя теория типов описывает аспекты реализации .
Некоторые типы коллекций предоставляются в языке как примитивные типы данных , например списки, тогда как более сложные типы коллекций реализуются как составные типы данных языка в библиотеках, иногда в стандартной библиотеке . Примеры включают в себя:
- C++: известный как контейнеры , реализованный в стандартной библиотеке C++ и более ранней стандартной библиотеке шаблонов.
- Java: реализовано в среде коллекций Java.
- Oracle PL/SQL реализует коллекции как типы, определяемые программистом. [1]
- Python: некоторые встроены, другие реализованы в коллекций . библиотеке
Ссылки
[ редактировать ]- ^ Фейерштейн, Стивен ; Прибыл, Билл; Дауэс, Чип (2007) [1999]. «Коллекции в PL/SQL». Карманный справочник по языку Oracle PL/SQL . Карманный справочник (4-е изд.). Севастополь, Калифорния: O'Reilly Media, Inc., с. 63. ИСБН 9780596551612 . Проверено 26 июня 2017 г.
Коллекции реализованы как TYPE. Как и в случае с любым типом, определяемым программистом, вы должны сначала определить тип; тогда вы можете объявить экземпляры этого типа.
Внешние ссылки
[ редактировать ]- Коллекции сообщества Apache .
- AS3Commons Collections Framework Реализация ActionScript3 наиболее распространенных коллекций.
- CollectionSpy — профилировщик Java Collections Framework.
- Гуава .
- Java-библиотека Mango .