Set (ensemble)
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
Ajouter, modifier, supprimer
var numbers: Set = [1, 2, 3, 4, 5]
numbers.insert(6)
numbers.remove(2)
numbers.removeAll()
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)
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.