Lição: 37: Trabalhando com Coleções (Arrays, Sets, Dicionários)
No Swift, coleções são tipos de dados fundamentais que você pode usar para armazenar grupos de valores. Os três principais tipos de coleções em Swift são Arrays, Sets e Dicionários. Cada tipo de coleção possui características distintas e casos de uso específicos. Nesta aula, exploraremos cada um desses tipos de coleção em detalhes, com exemplos.
Arrays
Um array é uma coleção ordenada de elementos que pode conter valores duplicados. Arrays em Swift são tipados, o que significa que todos os elementos em um array devem ser do mesmo tipo.
Criando e Inicializando Arrays
Você pode criar e inicializar um array de várias maneiras:
// Array vazio de inteiros
var numeros: [Int] = []
// Array com valores iniciais
var frutas: [String] = ["Maçã", "Laranja", "Banana"]
// Criando um array com um número específico de valores repetidos
var zeros = Array(repeitando: 0, contagem: 5) // [0, 0, 0, 0, 0]
Acessando e Modificando Arrays
Você pode acessar elementos em um array usando seus índices:
let primeiraFruta = frutas[0] // "Maçã"
// Modificando um elemento
frutas[1] = "Uvas"
print(frutas) // ["Maçã", "Uvas", "Banana"]
Adicionando e Removendo Elementos
Você pode adicionar ou remover elementos facilmente de um array:
// Adicionando um elemento
frutas.append("Manga") // ["Maçã", "Uvas", "Banana", "Manga"]
// Removendo um elemento
frutas.remove(at: 2) // Remove "Banana"
print(frutas) // ["Maçã", "Uvas", "Manga"]
Sets
Um set é uma coleção não ordenada de elementos únicos. Ao contrário dos arrays, sets não permitem valores duplicados e não mantêm nenhuma ordem específica.
Criando e Inicializando Sets
Você pode criar um set de várias maneiras:
// Set vazio de strings
var frutasUnicas: Set<String> = []
// Set com valores iniciais
var cores: Set<String> = ["Vermelho", "Verde", "Azul"]
// Criando um set com duplicatas (as duplicatas serão removidas)
let algunsNumeros: Set = [1, 2, 2, 3, 4] // [1, 2, 3, 4]
Acessando e Modificando Sets
Você pode adicionar e remover elementos de um set:
// Adicionando um elemento
frutasUnicas.insert("Manga")
// Removendo um elemento
frutasUnicas.remove("Manga")
Operações com Sets
Sets suportam várias operações, como união, interseção e diferença:
let setA: Set = [1, 2, 3]
let setB: Set = [3, 4, 5]
let uniao = setA.union(setB) // [1, 2, 3, 4, 5]
let interseccao = setA.intersection(setB) // [3]
let diferenca = setA.subtracting(setB) // [1, 2]
Dicionários
Um dicionário é uma coleção não ordenada de pares chave-valor. Cada chave deve ser única dentro de um dicionário, mas os valores podem ser duplicados.
Criando e Inicializando Dicionários
Você pode criar e inicializar um dicionário de várias maneiras:
// Dicionário vazio
var notasEstudantes: [String: Int] = [:]
// Dicionário com valores iniciais
var idades: [String: Int] = ["João": 25, "Ana": 28, "Carlos": 22]
Acessando e Modificando Dicionários
Você pode acessar valores usando suas chaves:
let idadeJoao = idades["João"] // Optional(25)
// Modificando um valor
idades["Ana"] = 30
// Adicionando um novo par chave-valor
idades["Alice"] = 26
print(idades) // ["João": 25, "Ana": 30, "Carlos": 22, "Alice": 26]
Removendo Elementos
Você pode remover pares chave-valor de um dicionário:
idades.removeValue(forKey: "Carlos")
print(idades) // ["João": 25, "Ana": 30, "Alice": 26]
Conclusão
Nesta aula, exploramos os três principais tipos de coleções em Swift: Arrays, Sets e Dicionários. Cada tipo de coleção serve a diferentes propósitos e possui propriedades únicas. Entender como usar essas coleções de forma eficaz permitirá que você gerencie dados de maneira eficiente em suas aplicações Swift. À medida que você pratica, descobrirá mais maneiras de aproveitar essas poderosas estruturas de dados para aprimorar suas habilidades de programação. Boa codificação!