English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá o que é um dicionário, como criar um dicionário e algumas operações comuns no dicionário.
No artigo anteriorArray SwiftNo artigo, aprendemos como declarar variáveis/Armazena múltiplos valores em constantes. Neste artigo, discutiremos como armazenar dados/Os valores são armazenados como pares de chave valor.
Um dicionário é apenas um contêiner que pode armazenar múltiplos dados como pares de chave valor de forma não ordenada.
Cada valor está associado a uma chave única e armazena dados em uma lista não ordenada comoConjuntoIsso significa que você obtém a ordem dos elementos diferente da ordem dos itens definidos no dicionário.
Quando precisar buscar um valor com um identificador específico em um conjunto, use um dicionário em vez de um array. Suponha que você queira procurar a capital deste país. Neste caso, você criará um dicionário com pares de chave valor de país e cidade capital. Agora, você pode obter o valor: cidade capital pesquisando a chave: país no conjunto.
Em termos simples, você combina chave e valor. No exemplo acima, combinamos um país com sua capital.
Você pode criar um dicionário vazio especificando key: value tipo de dados dentro dos colchetes [].
let emptyDic:[Int:String] = [:] print(emptyDic)
Quando o programa é executado, a saída é:
[:]ou
Você também pode definir um dicionário vazio da seguinte forma:
let emptyDic:Dictionary<Int, String> = [:] print(emptyDic)
No programa acima, declaramos uma constante dictionary do tipo dictionary chamada emptyDic com keys do tipo Int e values do tipo String, inicializada com 0.
ou
Como o Swift é uma linguagem de inferência de tipo, você também pode criar um dicionário sem especificar o tipo de dados, mas deve usar alguns valores para inicialização, para que o compilador possa inferir:
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic)
Quando o programa é executado, a saída é:
["b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, "h": 8]
No programa acima, declaramos um dicionário, mas não definimos explicitamente o tipo, usando alguns elementos padrão para inicialização.
Os elementos estão localizados em pares key:value, onde o tipo de key é String e o tipo de value é Int. Como o dicionário é uma lista não ordenada, print(someDic) imprime os valores em uma ordem diferente da definida.
Também podemos usar arrays para criar dicionários.
let customKeys = ["Facebook", "Google", "Amazon"] let customValues = ["Mark", "Larry", "Jeff"] let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues)) print(newDictionary)
Quando o programa é executado, a saída é:
["Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark"]
No programa acima, zip(customKeys,customValues) cria uma nova sequência de tuplas, onde cada elemento representa valores de customKeys e customValues.
Agora, podemos passar essa sequência para o Dictionary(Unique eKeysWithValues:) inicializador e criar um novo Dictionary. Portanto, print(NewDictionary) gera um novo Dictionary, contendo elementos de dois arrays.
Como array, você pode usar a sintaxe de subscrito para acessar elementos do dicionário. Você precisa incluir o nome do dicionário seguido de colchetes e a chave do valor que você deseja acessar.
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic["a"]) print(someDic["h"])
Quando o programa é executado, a saída é:
Optional(1) Optional(8)
Você também pode usar for-Acessar elementos do dicionário em loop.
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] for (key,value) in someDic { print("key:\(key) value:\(value)") }
Quando o programa é executado, a saída é:
key:b value:2 key:a value:1 key:i value:9 key:c value:3 key:e value:5 key:f value:6 key:g value:7
Você pode usar a sintaxe de subscrito para adicionar elementos ao dicionário. Você precisa incluir Nova chave Como índice de subscrito, atribua um novo valor ao tipo Dictionary.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Japan"] = "Tokyo" print(someDictionary)
Quando o programa é executado, a saída é:
["Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu"]
No exemplo acima, usamos a sintaxe de subscrito para criar um novo par chave-valor "Japan": "Tokyo" no dicionário.
Você também pode usar a sintaxe de subscrito para alterar o valor associado a uma chave específica:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Nepal"] = "KATHMANDU" print(someDictionary)
Quando o programa é executado, a saída é:
["China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU"]
Este atributo determina se o dicionário está vazio. Se o dicionário não contiver nenhum valor, ele retorna true, caso contrário, retorna false.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.isEmpty)
Quando o programa é executado, a saída é:
falso
Esta propriedade é usada para acessar o primeiro elemento do dicionário.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.first)
Quando o programa é executado, a saída é:
Optional((key: "China", value: "Beijing"))
Esta propriedade retorna o número total de elementos (pares de chave-valor) no dicionário.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.count)
Quando o programa é executado, a saída é:
3
Esta propriedade retorna todas as chaves do dicionário.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let dictKeys = Array(someDictionary.keys) print(dictKeys)
Quando o programa é executado, a saída é:
["China", "India", "Nepal"]
Da mesma forma, você pode usar values A propriedade para obter todos os valores do dicionário.
Esta função é usada para remover e retornar o valor especificado pela chave do dicionário. Esses pares de chave-valor serão removidos do dicionário.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary.removeValue(forKey: "Nepal") print(val) print(someDictionary)
Quando o programa é executado, a saída é:
Optional("Kathmandu") ["India": "NewDelhi", "China": "Beijing"]
Da mesma forma, você também pode usar removeAll A função limpa o dicionário.
1.Ao usar a sintaxe de subíndice para acessar elementos em um dicionário no Swift, você deve assegurar-se de que a chave esteja no índice, senão você obteránilO valor. Vamos ver um exemplo:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["Japan"] print(val)
Quando o programa é executado, a saída é:
nil
No programa acima, não há chave Japan . Portanto, ao tentar acessar a chave "Japan "nepal" você obterá um valor nil.
2.Da mesma forma, as chaves e valores são sensíveis a maiúsculas e minúsculas no Swift, portanto, você deve assegurar-se de usar a chave correta em maiúsculas e minúsculas/O valor. Caso contrário, você obterá um valor nil. Vamos ver um exemplo:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal"] print(val)
Quando o programa é executado, a saída é:
nil
No chave "nepal" está presente no programa acima. Portanto, ao tentar acessar a chave "nepal", você obterá um valor nil.
3.Se o valor da chave fornecida não existir, há outra maneira de fornecer um valor padrão. Vamos ver um exemplo:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal", default:"Not Found"] print(val)
Quando o programa é executado, a saída é:
Não Encontrado
No programa acima, ao acessar o dicionário, especificamos um valor padrão no parâmetro padrão. Se o valor da chave não existir, retorna o valor padrão, caso contrário, retorna esse valor
No nosso exemplo, a chave“nepal”Não existe, portanto o programa retorna o valor padrão: Não Encontrado.