PHP-библиотека для представления и обработки коллекций: типизированные коллекции и отображения по мотивам Java Collections Framework.
apple/swift-collections
Swift-пакет с распространёнными структурами данных: двусторонними очередями, кучами, упорядоченными множествами и словарями, а также битовыми множествами.
- Звёзды
- 4,547
- Форки
- 436
- Открытые issues
- 70
- Последний коммит
- 20 часов назад
Что это?
Swift Collections — это Swift-пакет с реализациями структур данных, расширяющими типы стандартной библиотеки Array, Set и Dictionary. Пакет разделён на тематические модули: DequeModule для двусторонних очередей на основе кольцевого буфера, HeapModule для min-max-кучи, которую можно использовать как очередь с приоритетом, и OrderedCollections с типами OrderedSet и OrderedDictionary, сохраняющими порядок добавления элементов.
В других модулях представлены BitCollections (BitSet и BitArray для более компактного хранения данных на основе битов), HashTreeCollections (персистентные хешированные TreeSet и TreeDictionary на основе CHAMP-trie, которые используют общие неизменившиеся части в копиях) и BasicContainers (UniqueArray и RigidArray с учётом владения). Модуль Collections реэкспортирует основные стабильные типы, позволяя подключить их одним импортом.
Пакет придерживается семантического версионирования и требует актуальную версию Swift toolchain; минимальная версия указана для каждого релиза. Экспериментальные возможности, такие как SortedCollections, контейнеры с хешированием Robin Hood и предварительные версии протоколов контейнеров, доступны только при явном включении package traits и не входят в стабильный API.
Ключевые возможности
- 01Типы Deque, heap, OrderedSet и OrderedDictionary для распространённых задач работы с коллекциями.
- 02BitSet и BitArray для компактного хранения данных на основе битов.
- 03Персистентные TreeSet и TreeDictionary, повторно использующие неизменившиеся части в копиях.
- 04Один импорт Collections открывает доступ к основным стабильным типам.
- 05Семантическое версионирование; минимальная версия Swift toolchain указана для каждого релиза.
Сценарии использования
- Сохранять порядок добавления элементов в Swift-словаре или множестве без написания собственного кода.
- Использовать очередь с приоритетом или двустороннюю очередь в серверном приложении или приложении на Swift.
- Компактнее хранить большие наборы целых чисел или логических значений с помощью битовых типов.
- Создавать общие неизменяемые снимки словаря для разных потоков или состояний с помощью персистентных деревьев.
Быстрый старт
- 1
Добавьте swift-collections в Package.swift как зависимость пакета, следуя инструкциям в разделе использования README
Что важно знать
- Экспериментальные возможности, доступные через package traits, нестабильны и могут быть изменены или удалены без предупреждения.
- Требуется toolchain Swift, поэтому это полезно только для проектов на Swift.
Темы
Частые вопросы
- Что такое swift-collections?
- Swift-пакет с распространёнными структурами данных: двусторонними очередями, кучами, упорядоченными множествами и словарями, а также битовыми множествами. Swift Collections — это Swift-пакет с реализациями структур данных, расширяющими типы стандартной библиотеки Array, Set и Dictionary. Пакет разделён на тематические модули: DequeModule для двусторонних очередей на основе кольцевого буфера, HeapModule для min-max-кучи, которую можно использовать как очередь с приоритетом, и OrderedCollections с типами OrderedSet и OrderedDictionary, сохраняющими порядок добавления элементов.
- swift-collections можно использовать бесплатно? Какая у него лицензия?
- swift-collections распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- swift-collections всё ещё поддерживается?
- Активно поддерживается. Последний коммит в swift-collections — 6 нояб. 2026 г..
- Для чего можно использовать swift-collections?
- Сохранять порядок добавления элементов в Swift-словаре или множестве без написания собственного кода. Использовать очередь с приоритетом или двустороннюю очередь в серверном приложении или приложении на Swift. Компактнее хранить большие наборы целых чисел или логических значений с помощью битовых типов. Создавать общие неизменяемые снимки словаря для разных потоков или состояний с помощью персистентных деревьев.
- Как установить swift-collections?
- Добавьте swift-collections в Package.swift как зависимость пакета, следуя инструкциям в разделе использования README
- Где скачать swift-collections?
- Исходный код и инструкции по установке — на GitHub: https://github.com/apple/swift-collections
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Java-библиотека сжатых Roaring-битмапов для быстрых операций над множествами целых чисел и экономии памяти.
Подборка библиотек, плагинов, руководств, статей и примеров приложений для Flutter, сгруппированных по темам.
Самостоятельно размещаемый менеджер коллекций для учёта физических предметов: книг, DVD, марок, игр и других вещей.
Основные Java-библиотеки Google: мультимапы, мультимножества, графы и утилиты для конкурентности, ввода-вывода, хеширования и строк.
Браузерное веб-приложение для шифрования, кодирования, сжатия, хеширования и анализа данных — его часто называют швейцарским армейским ножом для кибербезопасности.