Repolode
apple

apple/swift-collections

Pacote Swift com estruturas de dados comuns, como deques, heaps, conjuntos e dicionários ordenados e conjuntos de bits, para desenvolvedores Swift.

Estrelas
4,547
Forks
436
Issues abertas
70
Último commit
há 22 horas

O que é?

Swift Collections é um pacote Swift com implementações de estruturas de dados que estendem os tipos Array, Set e Dictionary da biblioteca padrão. Ele é organizado em módulos temáticos, incluindo DequeModule, para filas de duas pontas apoiadas por um buffer circular; HeapModule, para um heap min-max que pode ser usado como fila de prioridade; e OrderedCollections, com OrderedSet e OrderedDictionary, que preservam a ordem de inserção.

Outros módulos incluem BitCollections (BitSet e BitArray para armazenamento baseado em bits mais compacto), HashTreeCollections (TreeSet e TreeDictionary persistentes, baseados em tries CHAMP que compartilham partes inalteradas entre cópias) e BasicContainers (UniqueArray e RigidArray, com controle de ownership). O módulo Collections reexporta os principais tipos estáveis por meio de um único import.

O pacote segue o versionamento semântico e requer uma versão recente do toolchain do Swift; a versão mínima é informada em cada release. Recursos experimentais, como SortedCollections, containers hash Robin Hood e prévias de protocolos de containers, dependem de traits opt-in do pacote e não fazem parte de uma API estável.

Recursos principais

  • 01Tipos Deque, heap, OrderedSet e OrderedDictionary para necessidades comuns de coleções.
  • 02BitSet e BitArray para armazenamento compacto baseado em bits.
  • 03TreeSet e TreeDictionary persistentes que compartilham partes inalteradas entre cópias.
  • 04Um único import de Collections expõe os principais tipos estáveis.
  • 05Versionamento semântico com a versão mínima do toolchain do Swift documentada em cada release.

Casos de uso

  • Preservar a ordem de inserção em um dicionário ou conjunto Swift sem escrever código personalizado.
  • Usar uma fila de prioridade ou uma fila de duas pontas em um servidor ou app Swift.
  • Armazenar conjuntos grandes de números inteiros ou booleanos de forma mais compacta com tipos baseados em bits.
  • Compartilhar snapshots imutáveis de um dicionário entre threads ou estados usando árvores persistentes.

Início rápido

  1. 1

    Adicione swift-collections como dependência de pacote ao seu Package.swift, conforme descrito na seção de uso do README

Antes de usar

  • Os recursos experimentais disponibilizados por package traits são instáveis e podem ser alterados ou removidos sem aviso prévio.
  • É necessário um toolchain do Swift, portanto, só é útil para projetos Swift.

Tópicos

#data-structures#collections#queue#heap#ordered-dictionary#bitset#hashing#collection#container#deque

Perguntas frequentes

O que é swift-collections?
Pacote Swift com estruturas de dados comuns, como deques, heaps, conjuntos e dicionários ordenados e conjuntos de bits, para desenvolvedores Swift. Swift Collections é um pacote Swift com implementações de estruturas de dados que estendem os tipos Array, Set e Dictionary da biblioteca padrão. Ele é organizado em módulos temáticos, incluindo DequeModule, para filas de duas pontas apoiadas por um buffer circular; HeapModule, para um heap min-max que pode ser usado como fila de prioridade; e OrderedCollections, com OrderedSet e OrderedDictionary, que preservam a ordem de inserção.
swift-collections é gratuito? Qual é a licença?
swift-collections é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
swift-collections ainda é mantido?
Manutenção ativa. O último commit de swift-collections foi em 6 de nov. de 2026.
Para que posso usar swift-collections?
Preservar a ordem de inserção em um dicionário ou conjunto Swift sem escrever código personalizado. Usar uma fila de prioridade ou uma fila de duas pontas em um servidor ou app Swift. Armazenar conjuntos grandes de números inteiros ou booleanos de forma mais compacta com tipos baseados em bits. Compartilhar snapshots imutáveis de um dicionário entre threads ou estados usando árvores persistentes.
Como instalar swift-collections?
Adicione swift-collections como dependência de pacote ao seu Package.swift, conforme descrito na seção de uso do README
Onde consigo swift-collections?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apple/swift-collections

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados