English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Tutorial erfahren Sie, was ein Dictionary ist, wie man es erstellt und welche gängigen Operationen im Dictionary durchführt.
Im vorherigen ArtikelSwift-ArrayIm Artikel haben wir besprochen, wie man in Variablen/Viele Werte werden in Konstanten gespeichert. In diesem Artikel werden wir besprechen, wie man Daten/Werte werden als Schlüssel-Wert-Paare gespeichert.
Ein Dictionary ist ein Behälter, der mehrere Daten als Schlüssel-Wert-Paare unsortiert speichern kann.
Jeder Wert ist mit einem eindeutigen Schlüssel verknüpft und speichert Daten in einer unsortierten Liste alsSammlungDas bedeutet, dass Sie die Reihenfolge der Elemente erhalten, die Sie im Dictionary definiert haben, nicht die Reihenfolge der Definition der Elemente.
Wenn Sie nach einem Wert mit einem bestimmten Identifikator in einer Sammlung suchen müssen, können Sie ein Dictionary anstelle eines Arrays verwenden. Angenommen, Sie möchten die Hauptstadt dieses Landes suchen. In diesem Fall erstellen Sie ein Dictionary mit den Schlüsseln Land und Hauptstadt der Stadt. Jetzt können Sie den Wert erhalten: Hauptstadt, indem Sie nach dem Schlüssel: Land suchen.
Kurz gesagt, Sie paaren Schlüssel mit Werten. Im obigen Beispiel paaren wir ein Land mit seiner Hauptstadt.
Sie können ein leeres Dictionary erstellen, indem Sie key: value-Datentypen in eckigen Klammern [] angeben.
let emptyDic:[Int:String] = [:] print(emptyDic)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
[:]oder
Sie können auch einen leeren Dictionary wie folgt definieren:
let emptyDic:Dictionary<Int, String> = [:] print(emptyDic)
In dem obigen Programm haben wir einen Dictionary mit Int-Typen für die key und String-Typen für die value deklariert und mit dem Wert 0 initialisiert.
oder
Da Swift eine Typinferenzsprache ist, können Sie auch direkt ein Dictionary erstellen, ohne den Datentyp anzugeben, aber müssen einige Werte verwenden, damit der Compiler sie als folgt ableiten kann:
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
["b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, "h": 8]
In dem obigen Programm haben wir einen Dictionary deklariert, aber nicht explizit den Typ definiert, sondern mit einigen Default-Werten initialisiert.
Die Elemente liegen im key:value-Paar vor, wobei der Typ von key String ist und der Typ von value Int. Da der Dictionary eine unsortierte Liste ist, gibt print(someDic) die Werte in einer anderen Reihenfolge aus als definiert.
Wir können auch ein Dictionary aus einem Array erstellen.
let customKeys = ["Facebook", "Google", "Amazon"] let customValues = ["Mark", "Larry", "Jeff"] let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues)) print(newDictionary)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
["Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark"]
In dem obigen Programm erstellt zip(customKeys,customValues) eine neue Sequenz von Tuples, wobei jeder Element aus den Werten von customKeys und customValues besteht.
Jetzt können wir diese Sequenz an Dictionary(Unique eKeysWithValues:) mit dem Initialwert übergeben und einen neuen Dictionary erstellen. Daher gibt print(NewDictionary) einen neuen Dictionary aus, der Elemente aus beiden Arrays enthält.
Als Array können Sie die Indexnotation verwenden, um auf Elemente des Dictionaries zuzugreifen. Sie müssen den Schlüssel des zu zugreifenden Wertes im eckigen Klammern des Dictionary-Namens enthalten.
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"])
Wenn Sie das Programm ausführen, lautet die Ausgabe:
Optional(1) Optional(8)
Sie können auch for-Schleifen zur Durchsuchung der Elemente des Dictionaries.
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)") }
Wenn Sie das Programm ausführen, lautet die Ausgabe:
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
Elemente, die mit der Indexnotation im Dictionary hinzugefügt werden können. Sie müssen enthalten Neuer Schlüssel Als Indexindex und eine neue Wertzuweisung für den Dictionary-Typ zuweisen.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Japan"] = "Tokyo" print(someDictionary)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
["Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu"]
Im obigen Beispiel haben wir die Indexnotation verwendet, um im gegebenen Dictionary das neue Schlüssel-Wert-Paar "Japan": "Tokyo" zu erstellen.
Sie können auch die Indexnotation verwenden, um den Wert, der mit einem bestimmten Schlüssel verknüpft ist, zu ändern:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Nepal"] = "KATHMANDU" print(someDictionary)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
["China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU"]
Diese Eigenschaft bestimmt, ob das Dictionary leer ist. Wenn das Dictionary keine Werte enthält, gibt es true zurück, sonst false.
let someDictionary = [„Nepal“: „Kathmandu“, „China“: „Beijing“, „India“: „NewDelhi“] print(someDictionary.isEmpty)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
false
Diese Eigenschaft wird verwendet, um auf das erste Element des Dictionaries zuzugreifen.
let someDictionary = [„Nepal“: „Kathmandu“, „China“: „Beijing“, „India“: „NewDelhi“] print(someDictionary.first)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
Optional((key: „China“, value: „Beijing“))
Diese Eigenschaft gibt die Gesamtzahl der Elemente im Dictionary zurück (Schlüssel-Wert-Paare).
let someDictionary = [„Nepal“: „Kathmandu“, „China“: „Beijing“, „India“: „NewDelhi“] print(someDictionary.count)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
3
Diese Eigenschaft gibt alle Schlüssel im Dictionary zurück.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let dictKeys = Array(someDictionary.keys) print(dictKeys)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
[„China“, „India“, „Nepal“]
Gleichzeitig können Sie auch values Eigenschaft, um alle Werte im Dictionary zu erhalten.
Diese Funktion wird verwendet, um den mit dem Schlüssel angegebenen Wert aus dem Dictionary zu löschen und zurückzugeben. Diese beiden Schlüssel-Wert-Paare werden aus dem Dictionary gelöscht.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary.removeValue(forKey: „Nepal“) print(val) print(someDictionary)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
Optional("Kathmandu") ["India": „NewDelhi", „China": „Beijing“]
Gleichzeitig können Sie auch removeAll Funktion leert das Dictionary.
1.Wenn Sie die Elemente eines Dictionaries in Swift mit der Index-Syntax ansprechen, müssen Sie sicherstellen, dass der Schlüssel im Index vorhanden ist,否则 erhalten SienilWert. Lassen Sie uns in einem Beispiel sehen:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["Japan"] print(val)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
nil
Im obigen Programm gibt es keinen Schlüssel Japan 。Daher erhalten Sie einen nil-Wert, wenn Sie versuchen, auf den Schlüssel „Japan ” erhalten Sie einen nil-Wert.
2.Gleichzeitig unterscheiden sich Schlüssel und Werte in Swift in der Groß- und Kleinschreibung, daher müssen Sie sicherstellen, dass Sie den korrekten Schlüssel in der richtigen Groß- und Kleinschreibung verwenden/Wert. Andernfalls erhalten Sie einen nil-Wert. Lassen Sie uns in einem Beispiel sehen:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal"] print(val)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
nil
In dem obigen Programm gibt es keinen Schlüssel „nepal“. Daher erhalten Sie einen nil-Wert, wenn Sie versuchen, auf den Schlüssel „nepal“ zuzugreifen.
3.Wenn der Wert des angegebenen Schlüssels nicht existiert, gibt es auch eine andere Methode, um den Standardwert bereitzustellen. Lassen Sie uns das in einem Beispiel sehen:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal", default:"Not Found"] print(val)
Wenn Sie das Programm ausführen, lautet die Ausgabe:
Nicht gefunden
Im obigen Programm haben wir einen Standardwert in den Default-Parameter angegeben, wenn wir auf das Dictionary zugreifen. Wenn der Wert des Schlüssels nicht existiert, wird der Standardwert zurückgegeben, andernfalls wird der Wert zurückgegeben
In unserem Beispiel, der Schlüssel“nepal”Nicht vorhanden, daher gibt das Programm den Standardwert zurück: Nicht gefunden。