Coleções: Array

A Swift possui três tipos básicos de coleções: Array1, Dictionary2 e Set3. Cada qual com funcionamento e aplicação específica porém todos são fortemente tipados e armazenam uma coleção de valores.

O Array – também conhecido como Arranjo ou Vetor – consiste em uma lista ordenada de valores do mesmo tipo, que podem ser acessados através de um índice.

Criação

// Quando criamos arrays diretamente por código podemos omitir o tipo dos elementos
let animais = [ "Cachorro", "Gato" ]

// Caso prefira, pode explicitar o tipo dos elementos da seguinte forma
var numerosDaSorte: [Int] = [ 4, 8, 15, 16, 23, 48 ]

// Array vazio
var numerosPrimos = [Int]()
// ou
var numerosFibonacci: [Int] = []

// Note que ao usarmos `let` nossos arrays são criados como constantes
// e **não** podem mais ser alterados. Para permitir a mutabilidade da coleção
// criamos usando `var`.

Manipulação

// Acessando valores por índice
// - leitura
animais[0]            // primeiro elemento
numerosDaSorte[2...4] // índices 2, 3 e 4
numerosDaSorte[3...]  // do índice 3 ao último
// - escrita
numerosDaSorte[5] = 42
numerosDaSorte[...2] = [ 1, 2, 3 ] // do primeiro ao índice 2

// Inserindo Valores
// - no fim
numerosPrimos.append(2)
numerosPrimos += [ 3 ]
numerosFibonacci.append(contentsOf: [ 2, 3 ])
numerosFibonacci += [ 5, 8, 13 ]
// - no indice
numerosPrimos.insert(1, at: 0)
numerosFibonacci.insert(contentsOf: [ 1, 1 ], at: 0)

// Removendo Valores
numerosPrimos.removeFirst()   // primeiro
numerosFibonacci.removeLast() // ultimo
numerosDaSorte.remove(at: 3)  // no indice
numerosDaSorte.removeAll()    // todos

Algumas funcionalidades comuns

// Total de elementos
animais.count

// Array vazio
numerosDaSorte.isEmpty

// Contém um determinado elemento
numerosPrimos.contains(4)

// Laço
for numero in numerosPrimos {
    print(numero)
}

// Laço com índice
for (indice, numero) in numerosFibonacci.enumerated() {
    print("O elemento [\(numero)] está na posição \(indice + 1).")
}

Não deixe de se aprofundar ainda mais lendo a documentação oficial.

Até a próxima! >}


  1. Arranjo, variável indexada, vetor, matriz… ver mais.

  2. Dicionário, vetor associativo, mapa… ver mais.

  3. Conjunto, conjunto estático, conjunto congelado… ver mais.