Описание тега collections
API коллекций предоставляют разработчикам набор классов и интерфейсов, которые упрощают работу с коллекциями объектов. В некотором смысле коллекции работают как массивы, за исключением того, что их размер может динамически изменяться, и они имеют более продвинутое поведение, чем массивы.
В c
Существует стандартная библиотека C, GLib, которая предоставляет списки, хеш-таблицы, растущие массивы, деревья, простые и многоклавишные карты и некоторые необычные коллекции, такие как кварки, списки с ключами и блоки памяти.
В C++
Фреймворк контейнеров C++ предоставляет векторы (массивы большого размера), очереди, списки, стеки, наборы и карты. Карты в этой структуре могут иметь несколько ключей.
В Java
Структура коллекций Java предоставляет наборы, списки, хэш-таблицы, упорядоченные (связанные) хеш-таблицы, стеки и очереди. Также существуют специализированные коллекции для работы с несколькими потоками (очереди блокировки и т. Д.).
Есть три основных типа коллекций:
- Списки: всегда упорядочены, могут содержать дубликаты и могут обрабатываться так же, как обычные массивы
- Наборы: не могут содержать дубликаты и предоставлять произвольный доступ к их элементам
- Карты: соединяют уникальные ключи со значениями, предоставляют произвольный доступ к своим ключам и могут содержать повторяющиеся значения.
В .net
.NET Framework предоставляет специализированные классы для хранения и извлечения данных. Эти классы обеспечивают поддержку стеков, очередей, списков и хеш-таблиц. Большинство классов коллекции реализуют одни и те же интерфейсы, и эти интерфейсы могут быть унаследованы для создания новых классов коллекции, которые соответствуют более специализированным потребностям хранения данных.
System.Collections пространство имен
Некоторые популярные вопросы в Stackru: