English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Array (Array) Swift

Neste tutorial, você aprenderá sobre arrays, como criar arrays, acessar valores em arrays e algumas operações comuns nos arrays.

No últimoTipos de Dados SwiftNo artigo, aprendemos como criar variáveis de alguns tipos de dados que podem armazenar um único valor/constantes.

Mas e se quisermos armazenar múltiplos valores do mesmo tipo de dados? No Swift, usamos chamado Array coisas.

O que é um array?

O array é apenas um contêiner que pode armazenar múltiplos dados de um tipo de dados (valores) em uma lista ordenada, ou seja, você pode obter os elementos na mesma ordem em que foram definidos no array.

Os arrays podem armazenar qualquer tipo de dados, como Int, String, Class, etc.

Como declarar um array no Swift?

Você pode criar um array vazio especificando o tipo dentro dos colchetes [ ].

Lembre-se de que você deve incluir o tipo dentro dos colchetes, caso contrário, o Swift o considerará um tipo de dados comum e você só pode armazenar um valor nele.

Exemplo1:Declarar um array vazio

let emptyIntArr: [Int] = []
print(emptyIntArr)

Quando você executar o programa, a saída será:

[ ]

No programa acima, declaramos uma constante emptyIntArr que pode armazenar um array de inteiros e inicializar com o valor 0.

ou

Você também pode definir um array vazio da seguinte forma:

let emptyIntArr: Array<Int> = Array()
print(emptyIntArr)

ou

Como o Swift é uma linguagem de inferência de tipo, você também pode criar um array sem especificar o tipo diretamente, mas deve usar alguns valores para inicializar, para que o compilador possa inferir seu tipo:

Exemplo2:Declarar um array com alguns valores

let someIntArr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(someIntArr)

Quando você executar o programa, a saída será:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

No programa acima, declaramos uma constante someIntArr que pode armazenar um array de Integer sem especificar o tipo explicitamente. Além disso, usamosValor 1,2,3,4,5,6,7,8,9 Inicializou o array.

Exemplo3:Declarar um array contendo um número específico de valores repetidos

Você também pode repetir um valor uma quantidade específica de vezes para formar um array no Swift. Isso é feito usando o inicializador do array com repeating e count.

let arrWithRepeatingValues = Array(repeating: "Olá, Mundo", count: 4)
print(arrWithRepeatingValues)

Quando você executar o programa, a saída será:

["Olá, Mundo", "Olá, Mundo", "Olá, Mundo", "Olá, Mundo"]

No programa acima, definimos uma constante arrWithRepeatingValues que armazena strings Olá, Mundo do array,e repetir o mesmo valor4vezes, como especificado no exemplo.

Atenção:Em Swift, você não pode criar arrays de tamanho fixo como em outros linguagens de programação. Um array de tamanho fixo significa que o array não pode conter mais elementos do que você definiu durante a inicialização.

Como os valores são armazenados no array?

Supondo que você tenha uma constante que pode armazenar um array de strings, conforme mostrado a seguir:

let intArr = [21, 34, 54, 12]

A representação gráfica de como os valores são armazenados no array é como follows:

Todos os arrays que você criar começam no índice 0. O primeiro elemento é armazenado no índice 0, o segundo elemento é armazenado no próximo índice(1),e assim por diante.

Como acessar elementos do array em Swift?

Você pode usar abaixoSintaxe de subscrito para acessar os elementos do array, ou seja, você precisa incluir o índice do valor que deseja acessar dentro dos colchetes após o nome do array.

Supondo que você tenha declarado um array intArr, conforme mencionado acima. Então, o primeiro elemento é intArr[0], o segundo elemento é intArr[1],e assim por diante.

Exemplo4: Acessar os elementos do array

let intArr = [21, 34, 54, 12]
print(intArr[0])
print(intArr[1]
print(intArr[2]
print(intArr[3]

Quando você executar o programa, a saída será:

21
34
54
12

Você também pode usar for-in laço para acessar os elementos do array. Para mais informações, consultefor Swift-in laço.

Como modificar em Swift?/Como adicionar elementos ao array?

Você pode usar a sintaxe de subscrito e o operador de atribuição para modificar o elemento do array, isso é, você precisa incluir o índice do valor que deseja atualizar após o nome do array, seguido do operador de atribuição e do novo valor.

Exemplo5: Modificar o elemento do array

var intArr = [21, 34, 54, 12]
intArr[0] = 12
intArr[1] = 42
intArr[2] = 45
intArr[3] = 21
print(intArr)

Quando você executar o programa, a saída será:

[12, 42, 45, 21]

Você também pode modificar todos os elementos do array com novos valores, conforme mostrado a seguir:

Exemplo6: Modificar o array inteiro

var intArr = [21, 34, 54, 12]
intArr = [1,2,3]
print(intArr)

Quando você executar o programa, a saída será:

[1, 2, 3]

Mas, para adicionar novos elementos a um array existente, não pode usar a sintaxe de subscrito. Se fizer isso, eventualmente resultará em erro. Você não pode executar a seguinte operação:

Exemplo7: Adicionar novos elementos ao array usando a sintaxe de subscrito (inválido)

var intArr = [21, 34, 54, 12]
intArr[4] = 10

Quando você executar o programa, a saída será:

erro fatal: Índice fora do intervalo

O programa acima fornecido está errado ao atribuir novos elementos ao array intArr. Isso ocorre porque o intArr ainda não foi alocado para o índice4Aloca mais memória, mas não pode armazenar o valor especificado.

Para inserir corretamente novos elementos no array, usamos o método append() do array. A maneira de usar o append() será介绍的。

Funções e propriedades integradas do array

1. Propriedade isEmpty

Este atributo determina se um array está vazio. Se um array não contiver nenhum valor, ele retorna true, caso contrário, retorna false.

Exemplo8:isEmpty como funciona?

let intArr = [21, 34, 54, 12]
print(intArr.isEmpty)

Quando você executar o programa, a saída será:

false

2.first propriedade

Esta propriedade é usada para acessar o primeiro elemento do array.

Exemplo9:first como funciona?

let intArr = [21, 34, 54, 12]
print(intArr.first)

Quando você executar o programa, a saída será:

Optional(21)

Da mesma forma, você pode usar a propriedade last para acessar o último elemento do array.

3.append função (adicionar)

A função append é usada para inserir no final do array/Adicionar elementos.

Exemplo10:append como funciona?

var intArr = [21, 34, 54, 12]
intArr.append(32)
print(intArr)

Quando você executar o programa, a saída será:

[21, 34, 54, 12, 32]

Você também pode adicionar o conteúdo de um array para outro array, conforme mostrado a seguir:

var firstArr = [1,2,3,4]
var secondArr = [5,6,7,8]
firstArr.append(contentsOf: secondArr)
print(firstArr)

Quando você executar o programa, a saída será:

[1, 2, 3, 4, 5, 6, 7, 8]

4.insert função (inserir)

Esta função é usada para inserir no índice específico do array/Adicionar elementos.

Exemplo11:insert como funciona?

var intArr = [21,34,54,12]
intArr.insert(22, at: 1)
print(intArr)

Quando você executar o programa, a saída será:

[21, 22, 34, 54, 12]

Da mesma forma, você também pode usar removeproperty para remover o elemento na posição especificada.

5.remove() função (remover)

Esta função remove e retorna o valor especificado na posição especificada no array.

Exemplo12:remove como funciona?

var strArr = ["ab","bc","cd","de"]
let removedVal = strArr.remove(at: 1)
print("removed value is \(removedVal)\
print(strArr)

Quando você executar o programa, a saída será:

removed value is bc
["ab", "cd", "de"]

Da mesma forma, você também pode usar removeFirst para remover o primeiro elemento do array, removeLast para remover o último elemento e removeAll para esvaziar o array.

6.reversed() função (inversão)

Esta função retorna os elementos do array na ordem inversa.

Exemplo13:reversed() como funciona?

var intArr = [21,22,23,24]
let reversedArr = Array(intArr.reversed())
print(reversedArr)

Quando você executar o programa, a saída será:

[24, 23, 22, 21]

7.count propriedade (contagem)

Esta propriedade retorna o número total de elementos no array.

Exemplo14:count Contagem

let floatArr = [10.2,21.3,32.0,41.3]
print(floatArr.count)

Quando você executar o programa, a saída será:

4

Anotações

Ao usar a sintaxe de subscrito para acessar elementos de um array em Swift, é necessário garantir que o valor esteja no índice, caso contrário, ocorrerá um erro de tempo de execução. Vamos ver um exemplo:

let intArr = [21, 34, 54, 12]
print(intArr[-1]

Quando você executar o programa, a saída será:

erro fatal: Índice fora do intervalo

No programa acima, o índice -1 emNão há valor. Portanto, quando você tentar acessar o valor no índice, ocorrerá um erro de tempo de execução.

Para evitar esse problema, primeiro encontre o índice do elemento que você deseja remover. Em seguida, remova o elemento no índice, conforme mostrado a seguir:

var intArr = [21, 34, 54, 12]
if let index = intArr.index(of: 34) {
    print("encontrado índice")
    let val = intArr.remove(at: index)
    print(val)
}

Quando você executar o programa, a saída será:

encontrado índice
34