Dictionnaires en Swift

Introduction aux dictionnaires

En programmation, un dictionnaire est une structure de données qui stocke des valeurs sous forme de paires clé-valeur, sans ordre défini. C'est un moyen pratique pour associer des données, ce qui facilite leur accès et leur manipulation.

Syntaxe des dictionnaires

La syntaxe d'un dictionnaire en Swift peut être écrite comme suit :

var nomDuDictionnaire = [
  Clé1: Valeur1,
  Clé2: Valeur2,
  Clé3: Valeur3
]

Les clés doivent être de types 'hashables', c'est-à-dire des types pour lesquels une valeur de hachage peut être générée, comme les entiers (Int) ou les chaînes de caractères (String). Chaque clé est unique et permet d'accéder, de modifier ou de supprimer la valeur qui lui est associée. Les valeurs du dictionnaire peuvent être de n'importe quel type de données.

Assigner une valeur

Pour extraire la valeur d'une paire clé-valeur et l'assigner à une variable, vous pouvez faire comme suit :

var primaryHex = [
  "rouge": "#ff0000",
  "jaune": "#ffff00",
  "bleu": "#0000ff",
]

print("Le code hexadécimal pour bleu est \(primaryHex["bleu"])" ) // Imprime : Le code hexadécimal pour bleu est Optional("#0000ff")

if let redHex = primaryHex["rouge"] {
  print("Le code hexadécimal pour rouge est \(redHex)")
} // Imprime : Le code hexadécimal pour rouge est #ff0000

Note : Retirer la valeur d’une paire clé-valeur vous renvoie une valeur optionnelle. Pour la récupérer, une décompression optionnelle est nécessaire.

Itération à travers un dictionnaire

Vous pouvez itérer sur les clés et les valeurs d'un dictionnaire en utilisant une boucle for-in :

var emojiMeaning = [
  "🤔": "Visage pensif",
  "😪": "Visage endormi",
  "😵": "Visage étourdi",
]

// Itérer à travers les clés et les valeurs
for (emoji, meaning) in emojiMeaning {
  print("\(emoji) est connu comme le 'Emoji \(meaning)'" )
}

// Itérer uniquement à travers les clés
for emoji in emojiMeaning.keys {
  print(emoji)
}

// Itérer uniquement à travers les valeurs
for meaning in emojiMeaning.values {
  print(meaning)
}

Propriétés des dictionnaires

Voici quelques propriétés importantes des dictionnaires : - .contains() : Renvoie un booléen indiquant si l'élément est présent dans le dictionnaire. - .count : Renvoie un entier représentant le nombre de paires clé-valeur dans le dictionnaire. - .isEmpty : Renvoie vrai si le dictionnaire ne contient pas de paires clé-valeur. - .removeAll() : Supprime toutes les paires clé-valeur. - .removeValue() : Supprime une paire clé-valeur en fonction d'une clé spécifiée. - .updateValue() : Met à jour la valeur d'une clé donnée ou crée une nouvelle paire clé-valeur.