0Pricing
Swift Academy · Aula

Escolha entre Array, Dictionary e Set

Compreenda as características de desempenho e o tipo de coleção adequado para cada situação.

Escolha entre Array, Dictionary e Set é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Boas-vindas

As três coleções integradas do Swift — Array, Dictionary e Set — têm pontos fortes distintos. Escolher a coleção certa afeta tanto a correção quanto o desempenho.

Matriz: sequências ordenadas

Use `Array` quando: • A ordem for importante • Você precisar de acesso aleatório por índice `O(1)` • Duplicatas forem permitidas • Você percorrer os elementos sequencialmente ```swift let steps = ["boil","add tea","steep","drink"] ```

Dicionário: consulta por chave e valor

Use `Dictionary` quando: • Você precisar de consulta O(1) por uma chave exclusiva • Os dados forem naturalmente indexados por chave (ID do usuário, chave de configuração) ```swift var userNames: [Int: String] = [42: "Alice", 7: "Bob"] print(userNames[42]!) // "Alice" ```

Conjunto: pertencimento exclusivo

Use `Set` quando: • Você precisar de teste de pertencimento O(1) • As duplicatas tiverem de ser excluídas • A ordem não for importante ```swift var visitedPages: Set = [] visitedPages.insert("/home") print(visitedPages.contains("/home")) // true ```

Resumo de desempenho

| Operação | Matriz | Dicionário | Conjunto | |----------------------|--------|------------|----------| | Anexar | O(1)* | O(1)* | O(1)* | | Acesso por índice/chave | O(1) | O(1)* | — | | Busca | O(n) | O(1)* | O(1)* | | Inserção no meio | O(n) | O(1)* | O(1)* | *média amortizada

Quando uma matriz supera um conjunto

Coleções pequenas frequentemente favorecem `Array` em vez de `Set` devido à menor sobrecarga: ```swift // For 5 items, Array.contains is perfectly fast: let tags = ["swift","ios","mobile"] if tags.contains("swift") { ... } ``` A sobrecarga fixa do cálculo de hash pode predominar em conjuntos muito pequenos.

Padrão de dicionário ordenado

Quando você precisa de consulta por chave **e** da ordem de inserção: ```swift // Use an array of tuples or a struct: var ordered: [(key: String, value: Int)] = [] // Or Foundation's NSOrderedDictionary // Or maintain a [Key] array alongside a [Key:Value] dict ```

Padrão de multiconjunto

Para duplicatas contabilizadas (multiconjunto), use `[T: Int]`: ```swift var frequency: [String: Int] = [:] for word in words { frequency[word, default: 0] += 1 } ```

Imutabilidade: constantes versus variáveis

As três coleções se beneficiam do uso de `let` para garantir a imutabilidade: ```swift let config: [String: String] = ["env": "prod"] let primes: Set = [2,3,5,7,11] let steps: [String] = ["fetch","parse","display"] ``` Coleções imutáveis evitam modificações acidentais e permitem otimizações do compilador.

Árvore de decisão prática

Pergunte: 1. Preciso de acesso ordenado por posição? → Matriz 2. Preciso de consulta por uma chave exclusiva? → Dicionário 3. Preciso de teste de pertencimento rápido sem duplicatas? → Conjunto 4. Combinação? → Componha: por exemplo, `[Key: [Value]]` para dados agrupados

Verificação rápida

Qual coleção oferece consulta média O(1) por uma chave exclusiva?

Recapitulação

Principais conclusões: • Matriz — ordenada, indexada e permite duplicatas • Dicionário — pares de chave e valor, consulta O(1) • Conjunto — valores exclusivos, pertencimento O(1) • Coleções pequenas: uma matriz frequentemente supera um conjunto devido à sobrecarga do cálculo de hash • Componha coleções para estruturas de dados complexas Curso concluído! A seguir: padrões de projeto de estruturas.

Perguntas Frequentes

A aula “Escolha entre Array, Dictionary e Set” é grátis?

Sim — o texto completo de “Escolha entre Array, Dictionary e Set” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Escolha entre Array, Dictionary e Set”?

Compreenda as características de desempenho e o tipo de coleção adequado para cada situação. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Escolha entre Array, Dictionary e Set”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Operações CRUD em dicionários e acesso por subscrito
  2. Iteração e transformação de dicionários
  3. Operações com conjuntos: união, interseção e diferença
  4. Escolha entre Array, Dictionary e Set
← Voltar para Swift Academy