Logo de Swift en orange sur fond gris qui sert de hero de présentation de la formation sur les fondamentaux de Swift

Set (ensemble)

Logo de Swift en orange sur fond gris qui sert de hero de présentation de la formation sur les fondamentaux de Swift

Set (ensemble)

Un set est une collection non ordonnée d’éléments uniques. Ça signifie qu’il peut contenir différents éléments, mais chaque élément apparaît au maximum une fois dans le set. Les sets sont pratiques lorsque tu as besoin de stocker des éléments uniques sans te soucier de leur ordre ou de leur position dans la collection.

Syntaxe

Créer un set vide


var emptySet = Set<Int>()

Créer un set avec des valeurs


let fruits: Set<String> = ["Pomme", "Banane", "Orange"]
let primes: Set = [2, 3, 5, 7, 11] 

Un Set représente un ensemble de donnée unique, tu commence à le comprendre tout en Swift ce type, ici le Set ce type sous ce format Set() et comme tout en Swift l’inférence de type te permet de ne pas avoir à le préciser.

 Ajouter, modifier, supprimer


var numbers: Set = [1, 2, 3, 4, 5]

numbers.insert(6)

numbers.remove(2)

numbers.removeAll()
Les Set utilisent les mêmes méthodes natives que les array et dictionnaire pour le CRUD (Create, Read, Update, Delete).

Méthode native pour les Set

Union


let pokemonCards1: Set = ["Dracofeu", "Tortank", "Psychokwak"]
let pokemonCards2: Set = ["Mewtwo", "Tortank", "Pikachu"]

let union = pokemonCards1.union(pokemonCards2)

La méthode .union() est pratique pour fusionner deux Set en éliminant naturellement les doublons.

Données en commun


let mutual = pokemonCards1.intersection(pokemonCards2)

.intersection() retourne les données en doublons sur les deux Set

 


let sub = pokemonCards1.subtracting(pokemonCards2)

subtracting(_:) Retourne un nouvel ensemble contenant les éléments présents dans l’ensemble d’origine mais pas dans l’autre ensemble.


let sym = pokemonCards1.symmetricDifference(pokemonCards2)
symmetricDifference(_:) Retourne un nouvel ensemble contenant les éléments qui ne sont présents que dans un seul des deux ensembles.

Cas pratique


let numbersDuplicates = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 7]
let setNombres = Set(numbersDuplicates)
let singleNumbers = Array(setNombres)
print("Nombres uniques: \(singleNumbers)")

Les sets peuvent être utilisés pour « laver » un tableau de tous ses doublons. Ici, j’ai volontairement placé des valeurs en double dans le tableau numbersDuplicates. Ensuite, j’ai récupéré ce tableau pour en faire un Set, qui a naturellement supprimé tous les doublons. Et pour finir, j’ai recréé un tableau singleNumbers qui va prendre en valeur le Set (donc en refaire un tableau propre sans doublons).

Exercices Pratiques

Exercice Contrôle flow

Télécharger le playground

Accède aux consignes directement en téléchargeant le playground.

⚠️ Les consignes que tu trouveras dans le playground ne sont pas verrouillées. Fais attention à ne pas les effacer par inadvertance ! 

Objectif

Ces exercices te permettront de maîtriser les Set en Swift, une structure idéale pour gérer des collections d’éléments uniques. Tu apprendras à créer des ensembles, ajouter et supprimer des éléments, vérifier leur présence, et utiliser des opérations comme l’union, l’intersection ou la différence. Enfin, tu verras comment éliminer facilement les doublons d’un tableau grâce aux Sets pour simplifier le traitement des données.

Quizz

Après un peu de pratique, il est temps de te tester avec un petit quiz pour vérifier si tout est clair pour toi. Prends ton temps, lis bien les questions, et bonne chance.

Note

Contrairement aux tableaux, les Set n’ont pas d’ordre défini. Les éléments sont stockés de manière non ordonnée, donc leur affichage ou leur parcours peut sembler aléatoire.

Exercices Pratiques

Exercice Contrôle flow

Télécharger le playground

Accède aux consignes directement en téléchargeant le playground.

⚠️ Les consignes que tu trouveras dans le playground ne sont pas verrouillées. Fais attention à ne pas les effacer par inadvertance ! 

Objectif

Ces exercices te permettront de maîtriser les Set en Swift, une structure idéale pour gérer des collections d’éléments uniques. Tu apprendras à créer des ensembles, ajouter et supprimer des éléments, vérifier leur présence, et utiliser des opérations comme l’union, l’intersection ou la différence. Enfin, tu verras comment éliminer facilement les doublons d’un tableau grâce aux Sets pour simplifier le traitement des données.

Quizz

Après un peu de pratique, il est temps de te tester avec un petit quiz pour vérifier si tout est clair pour toi. Prends ton temps, lis bien les questions, et bonne chance.

Note

Contrairement aux tableaux, les Set n’ont pas d’ordre défini. Les éléments sont stockés de manière non ordonnée, donc leur affichage ou leur parcours peut sembler aléatoire.