English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous allez comprendre ce qu'est un dictionnaire, comment le créer et certaines opérations courantes sur le dictionnaire.
Dans le précédentTableau SwiftDans cet article, nous avons appris comment utiliser les variables/Stocke plusieurs valeurs dans des constantes. Dans cet article, nous discuterons de la manière dont les données/Les valeurs sont stockées sous forme de paires clé-valeur.
Un dictionnaire est simplement un conteneur qui peut stocker plusieurs données en tant que paires clé-valeur de manière non ordonnée.
Chaque valeur est associée à une clé unique et stockée dans une liste non ordonnée en tant queEnsembleC'est-à-dire, l'ordre dans lequel vous obtenez les éléments est différent de l'ordre dans lequel vous avez défini les éléments dans le dictionnaire.
Lorsque vous devez rechercher une valeur dans un ensemble avec un identifiant spécifique, vous pouvez utiliser un dictionnaire au lieu d'un tableau. Supposons que vous vouliez rechercher la capitale de ce pays. Dans ce cas, vous créerez un dictionnaire avec les clés pays et ville de la capitale. Maintenant, vous pouvez obtenir la valeur : capitale en cherchant la clé : pays dans l'ensemble.
En termes simples, vous associez les clés et les valeurs. Dans l'exemple ci-dessus, nous avons associé un pays à sa capitale.
Vous pouvez créer un dictionnaire vide en spécifiant la clé : valeur du type de données dans les crochets [].
let emptyDic:[Int:String] = [:] print(emptyDic)
Lorsque le programme est exécuté, la sortie est :
[:]ou
Vous pouvez également définir un dictionnaire vide de la sorte :
let emptyDic:Dictionary<Int, String> = [:] print(emptyDic)
Dans le programme ci-dessus, nous avons déclaré une constante dictionary de type Dictionary avec des clés de type Int et des valeurs de type String, et l'avons initialisée avec une valeur de 0.
ou
Comme Swift est un langage de type inference, vous pouvez également créer un dictionnaire sans spécifier le type de données, mais vous devez utiliser quelques valeurs pour initialiser, afin que le compilateur puisse l'inférer en :
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic)
Lorsque le programme est exécuté, la sortie est :
["b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, "h": 8]
Dans le programme ci-dessus, nous avons déclaré un dictionnaire, mais sans définir explicitement le type, en utilisant quelques éléments par défaut pour l'initialiser.
Les éléments sont situés dans des paires clé:valeur, où la clé est de type String et la valeur de type Int. Comme le dictionnaire n'est pas une liste ordonnée, print(someDic) affiche les valeurs dans un ordre différent de celui de la définition.
Nous pouvons également utiliser un tableau pour créer un dictionnaire.
let customKeys = ["Facebook", "Google", "Amazon"] let customValues = ["Mark", "Larry", "Jeff"] let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues)) print(newDictionary)
Lorsque le programme est exécuté, la sortie est :
["Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark"]
Dans le programme ci-dessus, zip(customKeys,customValues) crée une nouvelle séquence de tuples, chaque élément représentant des valeurs provenant de customKeys et customValues.
Maintenant, nous pouvons passer cette séquence à l'initialisation de Dictionary(Unique eKeysWithValues:) et créer un nouveau Dictionary. Par conséquent, l'output de print(NewDictionary) affiche un nouveau Dictionary contenant des éléments provenant de deux tableaux.
En tant que tableau, vous pouvez accéder aux éléments du dictionnaire en utilisant la syntaxe des indices. Vous devez inclure dans les crochets du nom du dictionnaire la clé de la valeur à accéder.
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"])
Lorsque le programme est exécuté, la sortie est :
Optional(1) Optional(8)
Vous pouvez également utiliser for-en boucle pour accéder aux éléments du dictionnaire.
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)") }
Lorsque le programme est exécuté, la sortie est :
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
Vous pouvez ajouter des éléments au dictionnaire en utilisant la syntaxe des indices. Vous devez inclure Nouvelle clé En tant qu'index de sous-script, et attribuer une nouvelle valeur au type Dictionary.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Japan"] = "Tokyo" print(someDictionary)
Lorsque le programme est exécuté, la sortie est :
["Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu"]
Dans l'exemple ci-dessus, nous avons utilisé la syntaxe des indices pour créer un nouveau couple clé-valeur "Japan": "Tokyo" dans le dictionnaire donné .
Vous pouvez également utiliser la syntaxe des indices pour modifier la valeur associée à une clé spécifique :
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Nepal"] = "KATHMANDU" print(someDictionary)
Lorsque le programme est exécuté, la sortie est :
["China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU"]
Cette propriété détermine si le dictionnaire est vide. Si le dictionnaire ne contient aucune valeur, il retourne true, sinon false.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.isEmpty)
Lorsque le programme est exécuté, la sortie est :
false
Cette propriété est utilisée pour accéder au premier élément du dictionnaire.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.first)
Lorsque le programme est exécuté, la sortie est :
Optional((key: "China", value: "Beijing"))
Cette propriété retourne le nombre total d'éléments du dictionnaire (paires clé-valeur).
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.count)
Lorsque le programme est exécuté, la sortie est :
3
Cette propriété retourne toutes les clés du dictionnaire.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let dictKeys = Array(someDictionary.keys) print(dictKeys)
Lorsque le programme est exécuté, la sortie est :
["China", "India", "Nepal"]
De même, vous pouvez utiliser values l'attribut pour obtenir toutes les valeurs du dictionnaire.
Cette fonction est utilisée pour supprimer une valeur du dictionnaire en utilisant la clé spécifiée. Ces deux paires clé-valeur seront supprimées du dictionnaire.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary.removeValue(forKey: "Nepal") print(val) print(someDictionary)
Lorsque le programme est exécuté, la sortie est :
Optional("Kathmandu") ["India": "NewDelhi", "China": "Beijing"]
De même, vous pouvez également utiliser removeAll La fonction vide le dictionnaire.
1.Lorsque vous accédez aux éléments d'un dictionnaire en utilisant la syntaxe d'index en Swift, vous devez vous assurer que la clé est présente dans l'index, sinon vous obtiendreznilLa valeur. Voyons un exemple pour le comprendre :
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["Japan"] print(val)
Lorsque le programme est exécuté, la sortie est :
nil
Dans le programme ci-dessus, il n'existe pas de clé Japan . Par conséquent, lorsque vous essayez d'accéder à la clé "Japan ” Vous obtiendrez une valeur nil.
2.De même, les clés et les valeurs sont sensibles à la casse en Swift, donc vous devez vous assurer d'utiliser la clé en majuscules correcte/La valeur. Sinon, vous obtiendrez une valeur nil. Voyons un exemple pour le comprendre :
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal"] print(val)
Lorsque le programme est exécuté, la sortie est :
nil
Dans le programme ci-dessus, il n'existe pas de clé "nepal". Par conséquent, lorsque vous essayez d'accéder à la clé "nepal", vous obtiendrez une valeur nil.
3.Il existe également une autre méthode pour fournir une valeur par défaut si la valeur de la clé donnée n'existe pas. Voyons cela dans un exemple :
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal", default:"Not Found"] print(val)
Lorsque le programme est exécuté, la sortie est :
Not Found
Dans le programme ci-dessus, nous avons spécifié une valeur par défaut dans les paramètres par défaut lors de l'accès au dictionnaire. Si la valeur de la clé n'existe pas, elle renvoie la valeur par défaut, sinon elle renvoie cette valeur
Dans notre exemple, la clé“nepal”Inexistant, donc le programme renvoie une valeur par défaut : Not Found.